From Valve Developer Community
Jump to: navigation, search
English (en)
AutoBSPpackingTool interface.
(DropBox) Download
TypeThird Party Tool
EngineSource Source
AvailabilityCounter-Strike: Global Offensive Counter-Strike: Global Offensive
Garry's Mod Garry's Mod
Portal 2 Portal 2
Custom configs can be created to
support any game!
Last Version0.1.1.5

AutoBSPpackingTool AutoBSPpackingTool is a third party tool made for Source Source developers and mappers. It automatically detects and packs almost every possible custom file that can be used in a map. (Current version:

Move to download heading

AutoBSPpackingTool settings.
Checkbox Packed file(s), if existent 
.nav (navigation mesh) 🖿/maps/<mapname>.nav
.ain (info_node) 🖿/maps/graphs/<mapname>.ain
.txt (map description) 🖿/maps/<mapname>.txt
.txt (soundscape) 🖿/scripts/soundscapes_<mapname>.txt
.txt (soundscript) 🖿/maps/<mapname>_level_sounds.txt
.cache (soundcache) 🖿/maps/soundcache/<mapname>.cache
.txt (retake bombplants) 🖿/maps/<mapname>_retake.txt
.txt (camera positions) 🖿/maps/<mapname>_cameras.txt
.txt (map story) 🖿/maps/<mapname>_story.txt
.txt (map commentary) 🖿/maps/<mapname>_commentary.txt
.txt (particles manifests) 🖿/particles/particles_manifest.txt
.txt (radar information) 🖿/resource/overviews/<mapname>.txt
.dds (radar images) 🖿/resource/overviews/<mapname>
(and vertical sections)
.svg (map icon) 🖿/materials/panorama/images/map_icons/map_icon_<mapname>.svg
.png (map background) 🖿/materials/panorama/images/map_icons/screenshots/1080p/<mapname>.png
.kv (player models) 🖿/maps/<mapname>.kv
.kv3 (bots behaviour) 🖿/scripts/<any mentioned in scripts or .vmf>.kv3
.png (dz spawn mask) 🖿/maps/<mapname>_spawnmask.png
.png (dz deployment map) 🖿/materials/panorama/images/survival/spawnselect/map_<mapname>.png
.vtf (dz tablet map) 🖿/materials/models/weapons/v_models/tablet/tablet_radar_<mapname>.vtf


  • The program does not detect scripts with a space in the path (so does the logic_script entity in Hammer Hammer).
  • The program does not detect sounds referenced in scripts with a space in the path.
  • Also finds .vmf files specified in func_instance entities and packs their data too.
  • The program reads gameinfo.txt (and mount.cfg for Garry's Mod Garry's Mod) to get content search paths.
  • The program also reads libraryfolders.vdf to get steam library folders paths.
  • Can either pack all the found files into .bsp or save a file with a list of all detected custom files.


  • The program is written in C# and requires Microsoft .NET Framework 4.0 or higher.
  • You should put the program in an individual folder, because it will create a cache folder, a folder to store game configurations and some necessary files in the directory that the .exe file is in.
  • The program creates a .bsp.backup file before packing.
  • The program checks for an update on startup.
  • It shows a notification when packing is finished.
  • It will be better if you pack your custom content referenced in scripts by yourself, because there are a lot of situations in which it's impossible to detect custom content used in scripts without running the engine.
  • The program uses vpk.exe and bspzip.exe, so you must have the SDK tools installed and the game itself you want to pack files for.

Supported games

  • You can create your own game configuration or edit existing ones


-vmf <path>
Set the path to .vmf file.
-bsp <path>
Set the path to .bsp file (if not specified, a file with a list of all detected custom files will be saved in the cache folder).
-game <index | gamefolder | path>
Select the game to use. Index is a number of game in supported games list starting from 0 (the order of the games in the list may change in the future, so it is better to use the game folder name or the path to it).
Also, if the program fails to find your Steam path and if you use the path to the game folder in this argument, then the Steam path will be obtained from it.
Examples: 0, 1, csgo, garrysmod, 🖿C:/Program Files (x86)/Steam/steamapps/common/Counter-Strike Global Offensive/csgo/
Create a log file. If this option is enabled and any argument is invalid, a cmd_exit_reason.log file will be created in the cache folder.
Show a notification when packing is finished.
-cachedir <path>
Override default cache folder path ( <the directory .exe file is in>/cache/ ).
-addcfg <path>
Add game configuration (configurations located in <the directory .exe file is in>/game_cfgs/ will be added automatically).
-gameinfo <path>
Set the path to the gameinfo.txt file if it isn't stored in the default location or the program fails to find it.
-mountcfg <path>
Set the path to the mount.cfg file if it isn't stored in the default location or the program fails to find it (only in Garry's Mod).

Usage with Hammer

You can add a Hammer configuration to pack all the custom files right after compile. Follow these steps if you want to.

  1. Add a new compile configuration in the expert compile mode.
  2. Set its name to [AutoBSPpackingTool] - Pack data or whatever you want.
  3. Set the Command to the path of .exe file of the program.
    Example: 🖿C:/Users/user/Downloads/AutoBSPpackingTool.exe
  4. Set the Parameters to: -vmf $path\$file.vmf -bsp $bspdir\$file.bsp -game $gamedir -notify and add other arguments if you want.
  5. Done! Now press Go! and wait until the notification appears.


See also