Tool textures (Source)
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.
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 | Filename | 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) |
Risk of Confusion:This is the UnlitGeneric Tools/ToolsBlack texture, not the LightmappedGeneric Halflife/Black texture.
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. Warning:Its ability to block bullets does not come from a Compile Flag, but from the fact that it is just an invisible wall. If the brush is too thin, bullets will pass like any other thin wall.
This texture is basically Workaround:Two invisible, not movable, prop_physics models with the flag "Debris" in the same spot can block bullets. But only bullets. 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. Use | ||
No | No | Yes | No | Yes | Yes | Yes | No | Solid to prop_physics, projectiles, players, & NPCs. Not solid to bullets. Also solid to bullets. | ||
No | No | Yes | No | Yes | Yes | Yes | No | Used for ladders in most multiplayer games except , either by itself, or tied to func_ladder. Tip:Add
%CompileDetail to prevent this material from cutting visleaves (the modified VMT does not need to be shared with the compiled map).
Note:Alternatively, it is possible to use %CompileClip (and optionally $translucent ) instead of %CompileNoDraw and %CompilePassBullets , but only if tied to func_ladder. | ||
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. Portals can be placed on it, but not in . Use Nodraw Portalable instead if this behavior is desired. Note:The "glass footsteps" version of this texture in does not seal maps.
Note:While no lightmap data is generated on nodraw faces, nodraw brushes still cast shadows.
Note:Despite common misconception, it is not necessary to use nodraw on faces that are outside the map and faces that are flush with other faces of the same entity, as these are automatically removed by VBSP. Additionally, func_detail faces which touch structural faces will be removed, but vice versa will not (faces completely obscured by func_detail should still be nodrawn).
| ||
N/A | No | No | No | No | No | No | No | Deprecated:Leftover from GoldSrc, where a brush with this texture was used to set the rotation origin of rotating entities. It is still functional in Source (overriding the entity's origin keyvalue) but no longer necessary. When placed outside of a brush entity, the compiler will fail with the error origin brushes not allowed in world.
| ||
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) |
Identical to Tools/ToolsBlack, the only difference is that uses special "black" shader.has a replacement that works with older engines. Todo: Find more about
"black" shader | ||
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
Identical to Tools/ToolsBlack, but no fog will appear in front of it. Uses the UnlitGeneric shader. Inherits various City17 %keywords from Tools/ToolsBlack. | ||
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
Identical to Tools/ToolsBlack. Seems to have been intended as a non-portalable version, but this is already the case with the normal texture in the final game. | ||
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
Identical to Tools/ToolsBlack, but does not render fog. | ||
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
Identical to Tools/ToolsBlack_Cheap. | ||
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Marks) |
Identical to Tools/ToolsBlack, but for some reason is used instead. | ||
Yes | Yes | Yes | Yes | Yes | Yes | Yes | N/A | Identical to Tools/ToolsBlack, but for some reason is used instead. | ||
Yes | Yes | Yes | Yes | Yes | Yes | Yes | N/A | Identical to Tools/ToolsWhite, but for some reason is used instead. | ||
No | No | No | No | Yes | Yes | Yes | Yes (No Marks) |
Identical to Tools/ToolsBlockBullets, but doesn't cut visleaves. | ||
No | No | Yes | No | Yes | Yes | Yes | Yes (No Marks) |
Identical to Tools/ToolsBlockBullets, but uses the "forcefield" surfaceprop. | ||
Non-Solid |
No | Yes | Yes | Yes | No | No | No | No | Not solid to anything, but blocks LOS.
Useful as a utility texture, like buttons you should be able to clip into. | |
No | Yes | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
Identical to Tools/ToolsNodraw, but with a different texture name. | ||
No | Yes | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
Identical to Tools/ToolsNodraw, but will make wood impact sounds when hit. | ||
No | Yes | Yes | Yes | Yes | Yes | Yes | N/A | Identical to Tools/ToolsNodraw, but will make stone impact sounds when hit. | ||
Invisible |
No | No | No | No | Yes | Yes | Yes | N/A | A translucent Nodraw texture. Cannot be used to seal the map. | |
Noshadow |
No | No | Yes | Yes | Yes | Yes | Yes | N/A | Identical to Nodraw but does not cast any shadows. | |
No | Yes | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
Identical to Tools/ToolsNodraw but with metal surfaceprop, Does not show metal marks. You may want to use Tools/Invismetal instead. | ||
No | No | Yes | Yes | Yes | Yes | Yes | N/A | Seven, materials all identical to Tools/ToolsNodraw but using different surfaceprop types (chitin, dirt, grass, metal, sand, stone, wood) and not casting any shadows. | ||
No | Yes | Yes | Yes | Yes | Yes | Yes | Yes (No Marks) |
Identical to Tools/ToolsNodraw, but portals can be placed on this texture. | ||
Yes | No | No | No | No | No | No | No | Identical to Trigger, but used for func_viscluster. | ||
Yes | No | No | No | No | No | No | No | Identical to Trigger, but used for newxog_volume. | ||
Yes | No | No | No | No | No | No | No | Identical to Trigger, but used for trigger_csm_volume. | ||
No | No | No | No | Yes | Yes | Yes | No | A tool texture used for color_correction_volume. | ||
No | No | No | No | Yes | Yes | Yes | No | A tool texture used for trigger_soundscape. |
Optimization
Image | Filename | 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 (func_areaportals and func_areaportalwindows ). 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 (except bomb in ). 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.
Unlike toolstrigger, toolsoccluder will correctly work when VBSP is compiled with |
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 | Filename | 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. Also solid to item pickups like ammo packs but not dropped weapons. Tip:If you need a clip of a specific material like Clip_Glass in a game that does not have these various clip materials, you can make a brush using any regular material with the property you want and then turn it into a func_brush that is always solid but not rendered.
| ||
No | No | No | No | Yes | No | No | No | Solid to NPCs only. Solid to bots. Not solid to hostages. Solid to infected only, but does not stop Smokers, Boomers and Spitters from attacking through it. | ||
No | No | No | No | No | Yes | No | No | Solid to players only. Also solid to item pickups like ammo packs but not dropped weapons. | ||
Yes | Yes | Yes | N/A | Yes | Yes | Yes | Yes (Marks) |
(removed since )(also in )
Deprecated:This texture has to be tied to an entity to gain any special abilities, but what entity is not yet confirmed.
Seems that it is necessary for 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 | Solid to grenades only. | ||
No | No | No | No | No | Yes | No | No | Functionally the same to Player Clip, but allows for steeper angles when walking on, up to 63.4349488°. | ||
No | No | No | N/A | N/A | No | No | No | Used to prevent drones getting stuck on complex geometry. | ||
No | No | Yes | No | Yes | Yes | Yes | No | A special clip used for clipping the leaves in Xen. |
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 | Filename | 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) |
No effect; uses nonexistent compile flag %CompileFog.
(You can use this for 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 )
Used to make 2D skyboxes without displaying the 3D Skybox. Casts light if there is a light_environment entity in the map. Bug:Light cast from this texture can still be blocked by 3D skybox geometry. [todo tested in?] 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" .)
Confirm:Can it be fixed to function properly if its VMT settings are changed in the Source code and recompiled?
| ||
Yes | No | No | No | No | No | No | No | (in all games since )
Used in conjunction with multiple env_fog_controllers to change fog colours and densities in a level. |
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 | Identical to Skybox, but does not cast any light rays. Tip:This is also true of Nodraw in any game while the skybox is visible.
|
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 | Acts like Tools/ToolsInvisible. Possibly unimplemented. | ||
No | No | No | No | Yes | Yes | Yes | No | A ladder only for Infected. Not visible to Infected Players during Versus, but can be climbed on. Use Climb Versus Instead. Could be used in areas blocked by func_playerinfected_clip where Player Infected cannot go to and should be unable to see a climbing spot, but the AI should be able to use it for hordes. | ||
Visible to Infected | No | No | No | Yes | Yes | Yes | No | Seemingly identical to Climb Versus. The only difference is that tools\climb_alpha.vmt uses $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 | A ladder only for infected. Must be used with 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) |
Solid to grenades. Tied to the trigger_dynamic_difficulty entity for the game's difficulty system. | ||
Yes | No | No | No | Yes | Yes | Yes | N/A | Used with the func_fishes entity to spawn fish inside of its volume. | ||
Yes | No | No | No | Yes | Yes | Yes | N/A | Used with the func_leaves entity to spawn leaves particles inside its volume. | ||
Yes | Yes | Yes | Yes | Yes | Yes | Yes | N/A | Purpose unknown; just a gray texture. | ||
Yes | No | Yes | No | Yes | Yes | Yes | Yes | A gradient from transparent to black. | ||
No | No | No | No | Yes | Yes | Yes | Yes (No Marks) |
Utility texture tied to the 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 | Basic 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 | Invisible texture, with metal surface properties. Simmilar to how Nodraw Metal should have worked. Creates metal sparks when shot, but bullets pass through. Tip:You may want to edit the VMT to add
%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) |
Utility texture tied to the 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) |
Utility texture tied to the 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 | Purpose currently unknown, properly used with some type of brush entity. | ||
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Basic UnlitGeneric texture that has no abilities. Used with func_brush to make it non-solid and fade away when approached. | ||
Yes | Yes | Yes | Yes | Yes | Yes | Yes | N/A | Used underwater when water meets the skybox. | ||
Yes (in ) | No | Yes | No | Yes | Yes | Yes | Yes (No Marks) |
Used to indicate the borders of the playable area. Only visible to Infected players. Tip:All Yes/No flags can be changed if applied to a func_brush.
| ||
Doesn't work correctly | No | Yes | No | Yes | Yes | Yes | Yes | Used for brushes that are temporarily blocking Terrorists during the freezetime of the Retakes game mode. It is only visible to players that are close to the origin of the entity that this material is applied to (e.g., func_brush), achieved with the PlayerProximity material proxy.
Warning:Does not work as intended on world brushes and func_details 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.
|