Tool Textures


Tool textures are used, mostly by the tools but sometimes by the engine, to perform special tasks. They can easily be found in Hammer by using "tools\" as a filter in the texture browser.
Anyone can make their very own tool texture, by utilizing available Material Map Compile Flags, such as %compilenonsolid 1
, %compileDetail 1
and %compilenodraw 1
for a tool texture which is not solid, does not cut visleafs and is invisible.
A %tooltexture
may also be set, which is only to be seen in Hammer's texture browser, while the $basetexture
is seen in-game; however, the self made tool textures must be shipped with the map, else they might not work.


func_detail
or func_brush
for optimization.

dev/dev_windowportal
in 

For example, have Clip for both teams, Player Clip for survivors and NPC Clip for infected; however, it also has
func_playerinfected_clip
just for player controlled infected.
If you cannot find a tool texture fit for a task, perhaps the game you're mapping for has a brush entity for that.
General
General — Common
These tool textures are available in every Source engine game.
Some of these textures have special function in some games. These special functions are noted by having the game's icon listed in the description. Such as ,
,
,
, ect.
Image | Name | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
![]() This texture is often used for brushes that are far away and they are dark. It cannot be lit by any type of light, but is affected by fog color. | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
(in all games since ![]() Identical to Tools/ToolsBlack, only in white. | |
![]() |
No | No | Yes | No | Yes | Yes | Yes | Yes (No Marks) |
Foremost solid to bullets, but also to NPCs and physics projectiles. It does not block all projectiles, though. Projectiles from NPCs, such as the acid spit from antlion workers, will still get through.![]() This texture is basically ![]() If you want to block grenades or other thrown objects, create a trigger_multiple , using a filter_activator_model to filter for the grenade model, with the outputs "OnStartTouch - !Activator - Kill ". If the game has multiple thrown objects use a filter_activator_model for each model and a filter_multi .To allow NPCs and their line of sight to pass through, turn the brush into a | |
![]() |
No | No | Yes | No | Yes | Yes | Yes | No | Solid to prop_physics , projectiles, players, & NPCs. Not solid to bullets.
| |
![]() |
Ladder |
No | No | Yes | No | Yes | Yes | Yes | No | Used with func_ladder in the most multiplayer games except ![]() |
![]() |
No | Yes | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
Not drawn in game, seals leaks, and is skipped by VRAD. Blocks visibility if used on all surfaces of the same brush. Optimally, every face that can't be seen during normal gameplay should have this texture.![]() ![]() ![]() ![]() ![]() | |
![]() |
N/A | No | No | No | No | No | No | No | ![]() ![]() | |
![]() |
No | No | No | Yes | No | No | No | No | Blocks the line of sight of NPCs and bots.mat_wireframe 1/2 will reveal that, while this texture doesn't block visleaves, it draws crossing polygons, and they alone are capable of preventing the engine from rendering enveloped brushwork. This can be worked around by turning the Block LOS–textured brush into a func_brush with its Solidity keyvalue set to a solid state. (A Block LOS func_brush can still be traversed in this state.)
| |
![]() |
No | Yes | No | No | No | No | No | No | Casts shadows artificially. Only used at compile time by VRAD. Does not seal leaks. See more uses here. | |
![]() |
Yes | No | No | No | No | No | No | No | Used on triggers and on func_viscluster entities.
|
General — Game-specific
These tool textures are only available in specific Source engine games.
Image | Name | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
![]() "black" shader.![]() Todo:Find more about
"black" shader | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
![]() UnlitGeneric shader.Inherits various City17 %keywords from Tools/ToolsBlack. | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
![]() | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
![]() | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
![]() | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
![]() | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | N/A | ![]() | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | N/A | ![]() | |
![]() |
No | No | No | No | Yes | Yes | Yes | Yes (No Marks) |
![]() | |
![]() |
No | No | Yes | No | Yes | Yes | Yes | Yes (No Marks) |
![]() | |
![]() |
Non-Solid |
No | Yes | Yes | Yes | No | No | No | No | ![]() Useful as a utility texture, like buttons you should be able to clip into. |
![]() |
No | Yes | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
![]() | |
![]() |
No | Yes | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
![]() | |
![]() |
No | Yes | Yes | Yes | Yes | Yes | Yes | N/A | ![]() | |
![]() |
Invisible |
No | No | No | No | Yes | Yes | Yes | N/A | ![]() |
![]() |
Noshadow |
No | No | Yes | Yes | Yes | Yes | Yes | N/A | ![]() |
![]() |
No | Yes | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
![]() | |
![]() |
No | No | Yes | Yes | Yes | Yes | Yes | N/A | ![]() | |
![]() |
No | Yes | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
![]() | |
![]() |
Yes | No | No | No | No | No | No | No | ![]() func_viscluster .
| |
![]() |
Yes | No | No | No | No | No | No | No | ![]() newxog_volume .
| |
![]() |
Yes | No | No | No | No | No | No | No | ![]() trigger_csm_volume .
| |
![]() |
No | No | No | No | Yes | Yes | Yes | No | ![]() color_correction_volume .
| |
![]() |
No | No | No | No | Yes | Yes | Yes | No | ![]() trigger_soundscape .
|
Optimization
Image | Name | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
Yes | No | Yes | No | No | No | No | No | Use with areaportals ( and ). Can be used with other brush entities, such as some triggers.
| |
![]() |
No | No | Yes | No | No | No | No | No | Instructs VVIS to cut visleaves along this texture, but does nothing else. | |
![]() |
No | No | No | No | No | No | No | No | Has no effect on anything. Skip faces are removed during compile, so a brush textured with Skip won't prevent leaks.
Useful in combination with Hint tool textures (to prevent the other sides from cutting vis) and as a tool in Hammer for grouping, moving and place-holding objects. | |
![]() |
Yes | No | No | No | No | No | No | No | Used only for the occluding sides of func_occluder entities.
|
Clips
Clips — Common
These tool textures are available in every source engine game.
Some of these textures have special function in some games. These special functions are noted by having the game's icon listed in the description (such as ,
,
, etc.).
Image | Name | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
No | No | No | No | Yes | Yes | No | No | Solid to players and NPCs but not other objects.
| |
![]() |
No | No | No | No | Yes | No | No | No | Solid to NPCs only.![]() ![]() ![]() | |
![]() |
No | No | No | No | No | Yes | No | No | Solid to players only.
| |
![]() |
Yes | Yes | Yes | N/A | Yes | Yes | Yes | Yes (Marks) |
(removed since ![]() ![]() ![]() func_vehicleclip .(See Player Clip above for the tool texture that restricts player movement.) |
Clips — Game-Specific
These tool textures are only available in specific Source engine games.
Image | Name | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
No | No | No | No | No | No | Solid to Grenades | No | ![]() | |
![]() |
No | No | No | No | No | Yes | No | No | ![]() | |
![]() |
No | No | No | N/A | N/A | No | No | No | ![]() | |
![]() |
No | No | Yes | No | Yes | Yes | Yes | No | ![]() |
Sky and Fog
Sky and Fog — Common
These tool textures are available in every Source engine game.
Some of these textures have special function in some games. These special functions are noted by having the game's icon listed in the description (such as ,
,
, ect.).
Image | Name | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
Yes | No | Yes | No | Yes | Yes | Yes | Yes (Marks) |
![]() func_smokevolume instead of the Trigger texture, but NOT for func_dustcloud .)
| |
![]() |
No | No | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
This texture is used to make 3D skyboxes. Casts light if there is a light_environment entity in the map.Cannot be used in the same PVS as the toolsskybox2d tool texture[Why?]. Things such as another area of a map will render on top of the skybox. An areaportal can stop this from happening, but it's generally better practice to add more scenery to cover the stuff that shouldn't be seen, reposition those things out of view, or just don't have an opening in that area. | |
![]() |
No | No | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
(in all games since ![]() Casts light if there is a light_environment entity in the map. ![]() Cannot be used in the same PVS as the toolsskybox tool texture. | |
![]() |
No | Yes | Yes | N/A | N/A | Yes | N/A | Yes (Marks) |
The SkyFog texture does not contain any properties. There is currently no existing corresponding Shader called "skyfog". (Generates error Error: Material "tools/toolsskyfog" uses unknown shader "SkyFog" .)
![]() | |
![]() |
Yes | No | No | No | No | No | No | No | (in all games since ![]() Used in conjunction with multiple |
Sky and Fog — Game-Specific
These tool textures are only available in specific Source engine games.
Image | Name | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
NoLight |
No | Yes | Yes | Yes | Yes | Yes | Yes | N/A | ![]() ![]() |
Miscellaneous
These are textures that have a special use, sometimes only seen in one single game.
Some of these textures are not even "real" tool textures, as they do not possess any Compile Flags, but they have some important use that no other texture available can do.
Image | Name | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
No | No | Yes | Yes | Yes | Yes | Yes | Yes | ![]() | |
No | No | No | No | Yes | Yes | Yes | No | ![]() Could be used in areas blocked by | ||
Visible to Infected | No | No | No | Yes | Yes | Yes | No | ![]() $alphatest , while tools/climb_versus.vmt uses $additive .This tool texture has so far never been used in an official campaigns. | ||
Visible to Infected | No | No | No | Yes | Yes | Yes | No | ![]() func_ladder ; otherwise, it will be ignored by the navigation mesh editor. | ||
Yes | No | Yes | No | Yes | Yes | Yes | Yes (Marks) |
A face textured with this texture is rendered on top of all other brush geometry. Furthermore, a brush with Dotted on any face will not block visibility or cull any face that it touches, meaning that any area enclosed in a Dotted-textured brush will not be removed from the map in any way. | ||
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
![]() trigger_dynamic_difficulty entity for the game's difficulty system.
| |
![]() |
Yes | No | No | No | Yes | Yes | Yes | N/A | ![]() func_fishes entity to spawn fish inside of its volume.
| |
![]() |
Yes | No | No | No | Yes | Yes | Yes | N/A | ![]() func_leaves entity to spawn leaves particles inside its volume.
| |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | N/A | ![]() | |
![]() |
Yes | No | Yes | No | Yes | Yes | Yes | Yes | ![]() | |
![]() |
No | No | No | No | Yes | Yes | Yes | Yes (No Marks) |
![]() ship_base_interaction brush entity to specify the only surfaces available for the player to interact with the entity.
| |
![]() |
No | No | No | No | Yes | Yes | Yes | Depends on game | Light is not blocked by this texture, except in ![]() Despite being in the Materials/Tools folder, this is not a tool texture. It has no abilities. It is simply an invisible texture used for displacement clipping, where you make an invisible displacement instead of a clip brush because making intricate clip brushes is difficult. | |
![]() |
Fully Translucent | Depends on use | Depends on use | N/A | Yes | Yes | Yes | Depends on use | ![]() LightmappedGeneric that has no abilities other than being invisible.Officially used like tools/invisibledisplacement for displacement clipping. | |
![]() |
No | No | Yes | No | Yes | Yes | Yes | No | ![]() Creates metal sparks when shot, but bullets pass through. ![]() %CompileDetail 1 to prevent it from cutting visleaves, which makes it much more useful. Alternatively, tie it to a func_detail or other entity.
| |
No Image | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | This is a special tool texture, intended to prevent VMEX from decompiling any maps using this custom tool texture. BSPSource ignores this, rendering it useless.
It does not really exist, as every user has to make their own, but it is listed here for completeness sake. | |
![]() |
No | Yes | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
![]() ship_base_interaction brush entity as a measure to help identify surfaces from which the player are unable to interact with said entity.
| |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
![]() ship_trigger_room brush entity to create several different rooms and special areas on the ship.
| |
![]() |
Yes | No | No | No | Yes | Yes | Yes | N/A | ![]() | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ![]() UnlitGeneric texture that has no abilities.Used with | |
![]() |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | N/A | ![]() | |
![]() |
Yes (in ![]() |
No | Yes | No | Yes | Yes | Yes | Yes (No Marks) |
![]() ![]()
![]() func_brush .
| |
![]() |
Doesn't work correctly | No | Yes | No | Yes | Yes | Yes | Yes | ![]() ![]() func_brush ), achieved with the PlayerProximity material proxy.
![]() func_detail s as they have no origin: In-game, the $alpha is either equal to the $alpha of the closest functioning application of this material on screen or - if there is none - the $alpha remains "stuck" at some value, no matter the proximity. |
VR-Specific Tool Textures
Image | Name | Visible if world brush |
Casts shadows | Cuts VIS leaves |
Blocks NPC LOS | Solid to NPCs | Solid to player(s) | Solid to physics | Solid to bullets | Usage / Notes |
---|---|---|---|---|---|---|---|---|---|---|
![]() |
No | No | N/A | No | No | Yes | No | No | ![]() ![]() ![]() |