Compiler choices
You have several choices for compiling unedited variants of the Source SDK depending on which version you are using.
Visual Studio

Please see

Visual Studio is an Integrated development environment (IDE) developed and maintained by Microsoft. It is the default IDE recommended for use with the Source SDK on Windows. In
Source 2013, the default version of Visual Studio used for Source engine development is Visual Studio 2013 (Visual Studio 2022 for
Team Fortress 2 branch). Older versions of Visual Studio are not compatible with Source 2013, and newer versions of Visual Studio will not work with Source 2013 by default.
Please see Installing Visual Studio 2013 (for ) or Installing Visual Studio 2022 (for
) for more information on how to install Visual Studio, as well as how newer versions of Visual Studio can be used.
Availability
Different versions of Visual Studio are supported between different versions of the Source SDK.
Version | Engine branch | Requirements |
---|---|---|
Visual Studio 2002 | ![]() |
See Compiling under VS2002. |
Visual Studio 2003 | See Compiling under VS2003. | |
Visual Studio 2005 | ![]() ![]() |
See Compiling under VS2005. |
Visual Studio 2008 | See Compiling under VS2008. | |
Visual Studio 2010 | ![]() ![]() ![]() ![]() |
![]() ![]() Source 2013: Add /2010 to your VPC command line |
Visual Studio 2012 | ![]() ![]() Source 2013: Supported | |
Visual Studio 2013 | ![]() ![]() |
Default for Singleplayer only, aswell as pre-2025 Multiplayer. |
Visual Studio 2015 | See Compiling under VS2022. | |
Visual Studio 2017 | ||
Visual Studio 2019 | ||
Visual Studio 2022 | ![]() ![]() |
Team Fortress 2 branch: Default. See Setting up Source SDK Base 2013 Multiplayer. Source 2013 Singleplayer: See Compiling under VS2022. |
GCC

Please see

The GNU Compiler Collection (GCC) is a collection of code compilers maintained by the GNU Project. G++ in particular is the default compiler recommended for use with the Source SDK on Linux.
Availability



Version | Engine branch | Requirements |
---|---|---|
GCC 4.2.x or lower | ![]() |
See Compiling under Linux. |
GCC 4.6-4.8 | ![]() ![]() |
See Source SDK 2013 on Linux ("container" method). |
GCC 5 or higher | See Source SDK 2013 on Linux ("container" method) and optional step for changing the toolchain. |
See also
- Building without Visual Studio
Visual Studio Code — A rich text editor commonly used with scripts outside of the code.