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

Half-Life Unified SDK Map Decompiler

From Valve Developer Community
Jump to: navigation, search
English (en)

Half-Life Unified SDK Map Decompiler Half-Life Unified SDK Map Decompiler is a powerful tool used to decompile Half-Life 1 BSP version 29 and 30 files. It stands out from other similar decompilers as it is written in C#, making its source code more accessible and easier to maintain. It also supports original Half-Life Alpha 0.52 BSP files. The application stores user configuration files in 🖿AppData/Roaming/Half-Life Unified SDK on Windows and 🖿home/.config on Unix systems.


This decompiler comes with two strategies - the tree-based and the face-to-brush decompiler:

  • The tree-based decompiler works by processing the Binary Space Partitioning tree for hull 0 for each brush model in the map.
  • The face-to-brush decompiler converts each brush face in the map to its own brush.

Both decompilers strive to accurately recreate the original map, but some level of inaccuracy is expected due to the lossy format of data in the BSP file.


  1. Cross-platform compatibility: The Half-Life Unified SDK Map Decompiler can be used on both Windows and Unix-like systems.
  2. Open-source: Being written in C#, the source code of the decompiler is accessible and easy to maintain.
  3. Ease of use: The decompiler has user configuration files stored in AppData/Roaming/Half-Life Unified SDK on Windows, and home/.config on Unix systems, making it easier for the user to customize.
  4. Two decompiler strategies supported: The decompiler has two strategies for decompiling maps, giving the user more options.
  5. Conversion to map source file representation: The decompiler includes the conversion of each brush to its map source file representation.


  1. Limited support for BSP files: The decompiler only supports Half-Life Alpha 0.52 and original Half-Life BSP files, and not other Quake-engine derivative BSP files.
  2. No support for other game maps: The decompiler does not support Quake 1/2/3 and Source maps, as well as engine offshoots like Svengine and Paranoia 2.
  3. Inaccurate recreated maps: Due to the lossy format in which the original brush data is stored, re-created maps will never be 100% accurate, and will have invalid geometry in some cases.
  4. Missing geometry: The decompiled maps will be missing some geometry, further reducing their accuracy.
  5. Original brushes cannot be restored: The decompiler cannot restore the original brushes as the data is stored in a lossy format.


External links