The Half-Life Unified SDK is spread across several repositories, each with a distinct responsibility. Understanding which repository holds which type of content will save you time when you need to find, modify, or contribute assets, source code, or tooling. The main repository contains C++ source code for the mod itself; companion repositories hold game assets and the C# automation tools that drive the development workflow.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/twhl-community/halflife-unified-sdk/llms.txt
Use this file to discover all available pages before exploring further.
The Three Main Repositories
SDK Source Code
C++ source code for the mod, original SDK tools,
delta.lst, and liblist.gam.in. Mod installation archives are published on the Releases page of this repository.Asset Source Files
Source files for all game assets: models, configuration files, scripts, and FGDs. Anything that is not mod source code lives here.
C# Tools Source Code
Source code for the .NET automation tools used to copy assets, package mod releases, and install game content from the original Half-Life titles.
Source Code Layout
The C++ source tree lives under thesrc/ directory and is divided into four sub-directories:
| Directory | Contents |
|---|---|
src/common/ | Shared headers used by both the engine and game code |
src/engine/ | Engine interface headers |
src/game/ | The game code itself, split into client/, server/, and shared/ |
src/public/ | Public SDK headers |
Server Library Name
Historically the server library for a Half-Life mod defaults to the namehl. The Unified SDK renames it to server to keep things simple and consistent. The compiled output is therefore server.dll on Windows, server.so on Linux, and server.dylib on macOS.
Dependency Management with vcpkg
The Unified SDK uses vcpkg in manifest mode to acquire almost all third-party dependencies. The only exceptions are libraries that ship with the game itself —vgui1 and SDL2.
Always use vcpkg to add new dependencies. If a package is not in the main vcpkg registry you can add it to the local filesystem registry defined in vcpkg-configuration.json.
GitHub Actions performs a shallow clone of the vcpkg repository. When updating vcpkg, make sure all dependencies are pinned to a version that the shallow clone can resolve, or GitHub Actions builds will fail to locate the package information.
Networking Configuration (delta.lst)
The delta.lst file, included in the main SDK repository, controls networking delta-compression settings for the mod. Adjusting this file lets you tune how entity and event data is serialised over the network.
Related Projects
The following community repositories apply the same style of updates to other Valve titles and may be useful reference material when working with the Unified SDK:Half-Life Updated
Bug fixes and compile improvements for the base Half-Life SDK.
Opposing Force Updated
Bug fixes and compile improvements for the Opposing Force SDK.
Blue Shift Updated
Bug fixes and compile improvements for the Blue Shift SDK.
Next Steps
Mod Setup
Configure your mod name, set up Steam launch, and learn the day-to-day development workflow.
.NET Tools
Install the .NET 6 SDK and learn how to run the Unified SDK’s automation tools.