Skip to main content

Working on content

Custom content in Source 2 is made inside an addon: a named folder the game mounts on request, holding the same directory structure a shipped game does.

Everything in this section follows from one shape. An addon exists twice, once as the files you edit and once as the files the game loads:

Counter-Strike Global Offensive/
├── content/csgo_addons/my_addon/ source files, what you edit
│ ├── maps/my_map.vmap
│ └── materials/wall.vmat
└── game/csgo_addons/my_addon/ compiled output, what the game loads
├── maps/my_map.vpk
└── materials/wall.vmat_c
tip

Work on the content/ side. Anything edited under game/ is overwritten by the next compile. There are a few exceptions for that. Read the pages in this section for more information.

In this section

  • Addons - Addons over existing maps
  • content/ and game/ - The two mirrored directory trees that Source 2's asset system is built around.
  • Directory layout - Where each file type belongs in a Source 2 install.
  • Compiling maps - What a map build produces, what it reuses from the previous build, and what to rebuild after each kind of change.
  • Decompiling assets - Recovering editable files from a shipped game's compiled content.