||This article needs additional citations for verification. (February 2009)|
The Source SDK is a software development kit compiled by Valve Corporation that is used to create games or mods for the Source engine. Games like Left 4 Dead, Left 4 Dead 2, Alien Swarm, and Portal 2 are packaged with their own Source SDKs, each tailored to suit the needs of the games and their engine builds.
There are 4 utilities in the Source SDK:
- Create a Mod: Dumps Source Engine code into a folder and places a mod directory under the SourceMods folder (Note: This appears neither in the Left 4 Dead (2) Authoring Tools, nor the Source 2009 version of the SDK.)
- Refresh SDK Content: Checks for data updates and downloads/refreshes new data
- Reset Game Configurations: Recreates game configurations with the basic games; mods mentioned in the configurations are removed unless manually edited
- Edit Game Configurations: Edits individual game configurations, primarily for Hammer
Engine versions 
The Source SDK currently has three engine versions. A user can choose the 2006 version of the Source engine, which is only used by Half-Life: Source, Half-Life Deathmatch: Source, and various mods built on old Source 2006 code. All other Source games were updated to the most recent 2009 version of the Source engine, with the exceptions of Episode Two, which used the 2007 version between May 11, 2010 and June 23, 2010, and various mods built on old Source 2007 code. Half-Life 2: Deathmatch was updated to the 2009 version of the Source engine on September 30, 2010. Although currently, all multiplayer Source games were updated to the Source Engine MP.
There are three applications in the Source SDK, Valve Hammer Editor, Model Viewer, and Face Poser.
Valve Hammer Editor 
The Valve Hammer Editor is a program included in the Source SDK that allows users to create maps for the Source Engine. It can be used with many different game configurations, for Source games like Team Fortress 2, Counter-Strike: Source, and Portal.
Model Viewer 
The Model Viewer is a program that allows users to view models and can be used for a variety of different purposes, including development.
Developers may use the program to view models and their corresponding animations, attachment points, bones, and so on. It can also be used to view props, weapons, buildings, and just about any other 3D object found except something which is a brush (an object created in Hammer that makes up the actual world - something like a floor, wall, room, skybox or terrain). The Model Viewer can't view game textures either (Hammer is used for that purpose instead).
Face Poser 
Face Poser is the tool used to access facial animations and choreography systems.
This tool allows one to:
- Edit facial expressions, gestures and movements for characters (known as actors), allowing one to mix or blend several expressions on the fly.
- Lip synch speech with the speech the characters use (and blend the speech with other facial expressions). The phonemes used for lip-synching can be extracted from existing spoken .wav files, and the tool takes care of the real-time association between the spoken phonemes and the movements of the lips.
- Sequence expressions and other acting cues and preview what the scene will look like in the Game engine. A scene can refer to multiple actors and thus can be used to block out fairly complicated interactions and dialogue between game characters.
Full list of SDK applications 
- bspzip: A command-line program that packs level-specific materials, models, and/or sounds into an existing BSP file.
- captioncompiler: A command-line program that compiles localized collections of Closed Captioning text into a readable .dat file.
- demoinfo: A command-line program used to view the data contained in a demo file (.dem format).
- glview: A program used to view a map's visibility leaves, a feature of the BSP file format.
- hammer: The level editor for Source.
- height2normal: Height map to normal map converter.
- height2ssbump: Height map to SSBump map converter.
- hlfaceposer: The tool used to access facial animations and choreography systems.
- hlmv: A program that allows users to view models.
- mksheet: A command-line program used to combine frames into a single tiled image for use in particles.
- motionmapper: A command-line program used to remap skeletal animation motions onto a target skeleton.
- normal2ssbump: normal map to SSBump map converter.
- pfm2tgas: A command-line program used to convert HDR textures to multiple TGA textures of different exposures.
- qc_eyes: A program that allows for the configuration of eye texture orientations in models.
- SDKLauncher: The launcher program for the SDK.
- shadercompile: A command-line program that is used to create shaders as part of a compile pipeline.
- splitskybox: A command-line program that cuts up a skybox image to 6 separate textures: front, back, left, right, up, and down.
- studiomdl: A command-line program that compiles SMD files into models.
- vbsp: A command-line program that compiles a VMF file to a native Source map, a BSP file.
- vbspinfo: A command-line program used to view the data contained in a BSP file.
- vconfig: An interface used to edit game configurations for the SDK's programs.
- vrad: A command-line program that calculates radiosity lighting on a pre-existing BSP file.
- vtex: A command-line program that converts TGA images into VTF texture files.
- vtf2tga: A command-line program that converts VTF texture files into TGA images.
- vvis: A command-line program that calculates visleafs (visibility leaves) on pre-existing BSP files.
- xwad: A command-line program that decompiles GoldSrc WAD files, BMP images, and SPR files into TGA or VTF images.
Useful third-party applications for the Source SDK 
- 3ds Max SMD exporter: An exporter for Autodesk 3ds Max that outputs an uncompiled SMD file.
- Batch Compiler: An application that allows a user to visually select map compilation parameters and compile a map without leaving Hammer open.
- Crafty: An application that views bsp, gl, map, mdl, vmf, and several other files. Allows for exporting to common formats like obj.
- Entspy: An application that views and allows modification of entities in a compiled bsp file.
- GCFScape: An application that views and extracts the contents of GCF files.
- GUI StudioMDL: A GUI frontend for studiomdl.
- MDLDecompiler: A program for decompiling Half-Life 2 and CS:Source models.
- Pakrat: A GUI version of bspzip.
- QuArKSAS: A utility to extract files from the Steam Filesystem.
- Terrain Generator: An application that is used to create terrain. Exports to common formats such as VMF.
- VMEX: An application that is used to decompile a BSP map to VMF.
- VTFLib: An application containing two programs, VTFCmd and VTFEdit. VTFCmd has the same functionality as vtex, but has more features such as batch conversion. VTFEdit is a GUI frontend for VTFLib.
- Wall Worm: A set of tools to get your content from 3ds Max to Source. Includes SMD, VTA, VTF and VMF Exporters. Compile content from 3ds Max.
Source engine games packaged with the SDK on Steam 
- Alien Swarm
- Counter-Strike: Source
- Counter-Strike: Global Offensive
- Day of Defeat: Source
- Half-Life 2
- Half-Life 2: Episode One
- Half-Life 2: Episode Two
- Half-Life 2: Deathmatch
- Left 4 Dead
- Left 4 Dead 2
- Portal 2
- Team Fortress 2 (includes Free-To-Play version)
Note that any packages including one or more of the above games come with the Source SDK and also that Half-Life: Source, Half-Life Deathmatch: Source and the free release of Portal does not come with the Source SDK. Some of the games listed here may also be packaged with their own equivalent of the Source SDK, namely Left 4 Dead, Left 4 Dead 2, Alien Swarm, Portal 2 and Insurgency Modern Infantry Combat. However, in most cases, the Source SDK will still be available.
See also 
- Valve Developers Community - Official Source SDK wiki
- SourceMod - Third-party C++ and Pawn wrapper to the Source SDK for game server plugins and extensions