This article's documentation is for the "GoldSrc" engine. Click here for more information.
This article's documentation is for anything that uses the Source engine. Click here for more information.

Create a Mod (Source)

From Valve Developer Community
Jump to: navigation, search

English (en)Українська (uk)

The Create a Mod wizard automates the process of creating a Source mod. It:

  • Creates a new mod under 🖿steamapps\SourceMods\
  • Installs a copy of the source code, with associated Visual Studio Project File
  • Creates a Game Configuration for your mod in the Source SDK
Note.pngNote:You will need to restart Steam for a new mod to appear in your library.

Engine branch

Before starting a mod you need to choose which version of Source you will use. Change the SDK's engine version to the one you want.

Source 2006 Source 2006
Outdated - Original Half-Life 2: Episode One Half-Life 2: Episode One mod. Only included for backwards compatibility reasons.
Source 2007 Source 2007
Outdated - Original Orange Box branch Orange Box branch mod.
Source 2009 Source 2009
Outdated - Updated Orange Box mod. You cannot make a mod for Source 2009 Source 2009; you can make a content-only mod of a 2009 game by following Creating a Mod manually.
Alien Swarm Alien Swarm (via Alien Swarm SDK)
The oddball of the bunch. Alien Swarm is totally free to play and its SDK includes source code, but it's source code is for a top-down shooter. It also lacks many of the HL2-compatible code's peripheral tools and cannot access HL2's content.
Source 2013 Source 2013
In 2013, Valve phased out the Source SDK with the release of SteamPipe. With this change, they updated the source code to the latest version of the Source-1-Engine for the HL2-based engine branch. This time around, the source code is not made available via an SDK launcher, but is instead hosted on Github. See Source SDK 2013 for more information.
Note.pngNote:If you wish to compile on one of the engine branches, Source 2006 is Visual Studio 2005, Source 2007 is Visual Studio 2010, Alien Swarm engine branch is Visual Studio 2010 & Source 2013 is Visual Studio 2013.)
Note.pngNote:At this time, Counter-Strike: Global Offensive CS:GO and Team Fortress 2 Team Fortress 2 are the only Valve-made Source Engine titles with 64-bit support, and is only 64-bit on MacOS and Linux. (By extension, this means that only mods based on CS:GO will be able to work on macOS Catalina and later, as these lack 32-bit support.)
Warning.pngWarning:Your Engine Version in the Source SDK must match the Engine branch of your mod! Failing to do this will result in Source SDK tools being unable to load required resources.

The SDK wizard

Project type

Half-Life 2 This section only applies to Half-Life 2 Mods!

When you start the wizard, you will have to choose which project to work with.

Create mod step1.png

Half-Life 2 Single Player
Projects for Half-Life 2: Episode One or Half-Life 2: Episode Two. If you do not own Half-Life 2: Episode One/Half-Life 2: Episode Two this option will be greyed out.
Half-Life 2 Multiplayer
Projects for Half-Life 2: Deathmatch. This option is only available if you own Half-Life 2: Deathmatch; otherwise it will be greyed out.
Multiplayer mod from template
A specially-created SDK project that allows you to configure settings such as if your mod is team based, or if you have abilities such as sprinting and prone. This option does not require Half-Life 2: Deathmatch.
Source code only
Dumps the code without creating an actual mod. This option is handy if you are just creating a server plugin.

Whichever option you choose, you get the same actual source code files (even if you didn't own one or another game). You also get an "everything" solution which includes a collection of development tools.

Mod Information

Create mod step2.png

The first option on this page is where you want the source code extracted to. The second is the name you want to use, which also defines the output folder for your compiled content (does not appear if you chose source code only).

Creating a mod manually

It's surprisingly simple:

  1. Create a folder under 🖿steamapps\SourceMods\ (A mod can actually reside anywhere, but placing it here allows Steam to detect and launch it.)
  2. Create a gameinfo.txt in the folder. You now have a mod!
  3. Open the SDK launcher and switch to the relevant engine branch.
  4. Choose "Edit Game Configurations" and click "Add". Enter your mod's name and folder.

To get the source code (or indeed any other files of Valve's that you want to modify) you will need to use GCFScape and access depot_211_dir.vpk in the Steam\SteamApps\common\SourceSDK\vpks folder. Remember to change the custom build steps to point to your mod's folder.


XBLAH's Modding Tool XBLAH's Modding Tool - Creating a mod
XBLAH's Modding Tool XBLAH's Modding Tool
Creating a bare-bones Source Source mod usually requires more than just creating a gameinfo.txt. Mods based on Source Source games can be created with the XBLAH's Modding Tool XBLAH's Modding Tool using an intuitive interface, that creates all the required files and directories. Mapbase Mapbase mods are also supported. See more.