Clip and Player Clip brushes are very important in Source mapping but I was confused which one to use?
Clip or Player Clip?
I decompiled a few maps and found that one map used "clip" (CS_Militia):
While another used all "player clip" (CS_Office):
It seemed arbitrary.
But after researching and testing here is what I found.
What are Clip Brushes?
"Clip" and "Player Clip" are textures that can be applied to any BSP brush. These textured brushes become invisible in-game and Source Engine will block players and NPCs (bots) from going through these brushes.
Clip Brush Usage in CS:GO
There are 2 primary uses for clip brushes in CS:GO version of Source.
One, they are used to block players and NPCs (bots) from going beyond the map's boundaries:
Two, they are used to prevent players becoming stuck on BSP geometry in your level, for example near door frames:
Clipping stairs is also recommended:
Important: You do have to apply these textures to the entire BSP brushes, not just a few faces:
Clip vs Player Clip
What are the differences between using one or the other?
- Both "Clip" and "Player Clip" brushes DO NOT block bullets, grenades, weapons from going through it.
- Both "Clip" and "Player Clip" DO block players and bots from going through it and it blocks C4.
The one major and noticeable difference is "Clip" brush prevents nav mesh from being generated beyond these brushes and "Player Clip" does not.
On the left is a Clip brush, behind it no navigation was generated, on the right is a Player Clip and navigation was generated:
If you use "Player Clip", navigation will be generated under these brushes and outside into non-playable areas. This will cause you to manually delete navigational meshes generated in non-playable areas:
So for this reason I use "Clip" brush almost exclusively.
Why wouldn't I want navigation to be generated outside in non-playable areas?
Deathmatch maps use nav mesh to spawn dynamic player starts all over your map and can spawn players in exterior boundaries where you didn't intend.
You can enable visibility of clip brushes in-game with a console command:
- r_drawclipbrushes 1
Enable to see where navigation was generated:
- nav_edit 1
- BOTH "Clip/Player Clip" DO NOT block grenades from going through
- BOTH "Clip/Player Clip" DO NOT block weapons
- BOTH "Clip/Player Clip" DO NOT block bullets
- BOTH "Clip/Player Clip" DO block bots and players
- BOTH "Clip/Player Clip" DO block C4
"Player Clip" allows nav mesh to be generated underneath and overflow outside into non-playable areas
"Clip" brush block generation of nav mesh and stops it from overflowing into non-playable areas of the map.
See more on Source Tool Brushes here.