Team Fortress 2 engine branch




The Team Fortress 2 branch (also referred as Source 2013 Multiplayer v2, Source 2025 Multiplayer, or TF2 branch for short) is a newer version of
Source 2013 Multiplayer, developed from updates to
Team Fortress 2 (since 2022). Half-Life 2: Deathmatch was also upgraded to this branch after the 20th Anniversary update. All remaining Source 2013 Multiplayer games (
,
,
and
SDK Base 2013 - MP) were upgraded to this branch on 18 February 2025.
Currently, this branch, along with Source 2013 Singleplayer, is the latest Source engine branch available, and actively being maintained.
The branch also adds new features, including ones from Half-Life 2 20th Anniversary Update (bicubic lightmaps), Left 4 Dead engine branch (radial fog) and other features from later branches.
Some Source mods and tools that are built on Source 2013 Multiplayer (sometimes known as Source 2013 Multiplayer Legacy) will not work on this branch, due to semi-incompatible ABIs. Nonetheless, the TF2 branch is still considered a sub-branch of
Source 2013, alongside
Source 2013 Singleplayer and the supplanted
Source 2013 Multiplayer.
Features
Added
New since the Source 2013 Multiplayer branch is:
64-bit binaries (also in
)
- Allows the game to access more than 4GB RAM and have slightly better performance. Additionally, tools such as Hammer, map compilers (VBSP, VVIS, VRAD), etc. also have 64-bit binaries.
Note:64-bit is not available on Mac.
Bug:The 64-bit versions of some tools, such as StudioMDL, are broken.
- VScript (also in
)
- A powerful new scripting system primarily using
Squirrel. Third-party games may have different VScript implementation.
- WebM video playback (also in
)
- Used for game intros or cutscenes. WebM allows smaller file sizes without significant degradation in video quality. In the Team Fortress 2 engine branch, it is only used in 64-bit mode, as 32-bit still use Bink & plays Bink video.
Note:Not used in games like Half-Life 2: Deathmatch, Counter-Strike: Source, Day of Defeat: Source and Half-Life Deathmatch: Source, which continues to use Bink, but only when launched with 32-bit executable. 64-bit versions of the game fails to play Valve intro because it uses WebM, and valve.webm isn't present in hl2\media folder.
- Vulkan renderer (also in
)
- A low-overhead, cross-platform graphics API, successor to OpenGL.
- First introduced in 2022 with the release of Steam Deck update for Half-Life 2 and Portal, and later added to Team Fortress 2 during the 64-bit update. Portal with RTX also uses Vulkan as part of the RTX Remix runtime. Using DXVK, a library used to translate Direct3D calls to Vulkan. This is disabled by default, but can be enabled in supported games by passing -vulkan into the game's launch options.
- VGUI High
DPI support (also in
20th)
- VGUI elements are now properly scalable on higher resolutions such as 4K (3840x2160).
- Steam Networking (also in
)
- Allows self-hosting using Steam Datagram Relay, meaning users can easily create joinable servers without port forwarding.
Important:Enabled by default. If you are currently working on mapping for games that have Steam Networking enabled, make sure sv_use_steam_networking is set to 0 (disabled), to prevent users from easily joining your server.
Bicubic lightmap filtering (also in
20th
)
- Introduced in 2024, bicubic filtering is used on lightmaps when r_lightmap_bicubic is enabled, smoothing out aliasing caused by the lower resolution of lightmaps. It can be also enabled by setting the Shader detail to "Very High".
- Radial fog (also in
20th)
- Unlike planar-based fog, radial fog does not strengthen or weaken the apparent amount of fog in a particular spot when you rotate the camera.
- You can either use radial fog or planar-based fog by changing env_fog_controller "Use Radial Fog (fogRadial)" KeyValues.
- Texture streaming (also in
)
- Reduces system RAM and graphics card VRAM usage by streaming textures as needed instead of loading them all when loading the map.
- Swaying trees (also in
)
- Introduced in
's Jungle Inferno update. A material parameter that gives the effect of trees swaying in the wind.
- Updated shader compilation tools
- Now by default SCell555's shader compiler is included in the SDK.
Changed / Fixes
- Removed options to disable/enable Direct3D 9Ex (Windows Aero DirectX extensions) in Advanced Video Options.
- While the option has been removed, likely because it does nothing when trying to disable it through in-game options/settings (possibly broken since Windows 10), disabling D3D9Ex through -nod3d9ex still works.
- Numerous security fixes
- See GitHub post.
- Fixed building cubemaps
- Building cubemaps on this branch no longer requires deleting pre-built (blank) cubemap, and building cubemaps doesn't need cheats to be enabled. However, you still needs to follow some of the steps correctly to make sure you built cubemaps on both LDR & HDR rendering and having consistent exposure/brightness on HDR cubemaps.
Removed
- Removal of Miles Sound System middleware
- Uses open-source
minimp3 for MP3 playback instead. Files related to Miles Sound System will remain on the game's
bin
folder (contains 32-bit DLLs), but left unused.
Known issues / Report bugs
To report bugs or find existing issues on this engine branch, see Source games and Source SDK 2013 repo GitHub issues page in order to prevent duplicate or outdated bug reports at the wiki.
Availability
Source code (game, tools) for this branch is available on GitHub.
Valve
- 2004
Counter-Strike: Source (formerly
,
,
,
)
- 2004
Half-Life 2: Deathmatch (formerly
,
,
,
)
- 2005
Half-Life Deathmatch: Source (formerly
,
,
)
- 2005
Day of Defeat: Source (formerly
,
,
,
)
- 2007
Team Fortress 2 (formerly
,
,
)
- 2014
Source SDK Base 2013 - Multiplayer (formerly
; Click to Install)
Note:Mods built on
Source SDK Base 2013 - Multiplayer prior to the upgrade to the Team Fortress 2 branch may not work properly if the mod is launched with updated SDK Base 2013 MP, so if you want to use legacy version of Source SDK Base 2013 - Multiplayer to play older mods (or use older tools), follow the instructions:
- Open Steam, go to Source SDK 2013 Multiplayer, right click Properties
- A window will open. Go to "Betas", select previous2021 beta branch.
- Steam will automatically re-download the files. Once it's done, run Source SDK Base 2013 MP as normal, or use it's tools.