Material surface properties
These are lists of physical surface types ($surfaceprop
) that Source recognizes, as defined by the files referenced in /scripts/surfaceproperties_manifest.txt
.
Surface types define the physical properties of an object including friction, density, collision/footstep sounds, the effect of bullet impacts and, if the object is destructible, health and gib type.
Both materials and models define their surfaces with the $surfaceprop command.


sound/materials.txt
. This file usually has documentation at the top dictating which surface types are available in the given mod.Types
This table represents scripts/surfaceproperties.txt
. Every game is shipped with this file and therefore every game has all these surface properties, with some exceptions.
Games listed in the "Not in" column had the surface property deleted for one reason or another.
Some games introcude their own surface properties, which can be seen below.

If a surfaceprop happens to be missing in a third party mod, it will still be listed in the "Not in" column.
















Special |
Description | Not in |
---|---|---|
Default
|
||
Default_silent
|
For invisible collision materials, like sky. Bullet impacts are neither visible nor audible, giving the illusion that there is no impact. | |
Floatingstandable
|
This one is used for puzzles where we want something that floats but the player can stand on without it sinking beneath the water. | |
Item
|
Small med kit, smaller tech items, battery. | |
Ladder
|
Ladder is a fake material for walking on ladders. | |
Woodladder
|
Same as Ladder, but with wooden climbing sounds. |
![]() ![]() ![]() ![]() |
No_decal
|
||
Player
|
Special materials for player controller. | |
Player_control_clip
|
Special materials for player controller. | |
Concrete/Rock |
Description | Not in |
Boulder
|
Will cause material glitches if used in models | |
Brick
|
||
Concrete
|
||
Concrete_block
|
9x12 prefabricated concrete cinder blocks. | |
Gravel
|
||
Rock
|
Solid rock (small sounds). | |
Metal |
Description | Not in |
Canister
|
Large oxygen tank, propane tank, welding tank. | |
Chain
|
Metal chain. | |
Chainlink
|
Chainlink fencing material. | |
Grenade
|
Sounds like a small metal object when dropped, but sounds like dirt when stepped on. | ![]() |
Metal
|
||
Metal_barrel
|
Larger metal barrel, metal oil drum. In CS:GO, a thickness of 1 unit already blocks all bullets. |
|
Floating_metal_barrel
|
Surfaceprop alone does not define whether item can float. At least in ![]() |
|
Metal_bouncy
|
prop_physics and func_physbox with this surfaceprop will bounce around when dropped. | |
Metal_Box
|
Smaller metal box (< 2' width/height/depth) | |
Metalgrate
|
Metal grating, used for decking | |
Metalpanel
|
Thick solid steel panel - used for solid wall, floor, machine construction. | |
Metalvent
|
~1mm thick metal | |
Paintcan
|
Smaller metal can | ![]() |
Popcan
|
Small aluminum can, full. | ![]() |
Roller
|
Combine Roller mine material. | ![]() |
Slipperymetal
|
Very low friction on which you slip and slide, just like ice. | |
Solidmetal
|
Almost nothing is solid metal - so metal is sheet metal | |
Weapon
|
Sounds for when weapons drop. | ![]() |
Wood |
Description | Not in |
Wood
|
Generic wood ![]() |
|
Wood_Box
|
||
Wood_Crate
|
Large crate, large wood furniture (bookcases, tables). | |
Wood_Furniture
|
small wood furniture - chairs, small tables. | |
Wood_LowDensity
|
Small crate. | ![]() |
Wood_Plank
|
Wood board, floorboard, plank. | |
Wood_Panel
|
Plywood panel, wood door panel. | |
Wood_Solid
|
Solid 6x6 or greater block, post or tree. | |
Terrain |
Description | Not in |
Dirt
|
||
Grass
|
||
Mud
|
||
Quicksand
|
Does not let you sink like in quicksand. | |
Sand
|
||
Slipperyslime
|
Very low friction on which you slip and slide, just like ice. | |
Liquid |
Description | Not in |
Slime
|
||
Water
|
If applied to brushes/models that are not using %compilewater, it will sound like water and spawn water particles when shot. But it will also draw bullet decals. | |
Wade
|
Wade is a water material for walking in/on water at knee height. If applied to brushes/models it will sound like water and spawn water particles when shot. But it will also draw bullet decals. |
|
Frozen |
Description | Not in |
Ice
|
Very low friction on which you slip and slide. | |
Snow
|
||
Organic |
Description | Not in |
Alienflesh
|
![]() | |
Armorflesh
|
Flesh for physics, metal for bullet fx. | |
Bloodyflesh
|
Does not spawn bloody bullet decals in ![]() |
![]() |
Flesh
|
Medium-sized body. | ![]() |
Foliage
|
||
Watermelon
|
![]() ![]() | |
Manufactured |
Description | Not in |
Glass
|
Pane of glass, computer screen, window, glass door... Use Glassfloor in CS:GO if a glass floor shouldn't be more slippery than usual. |
|
Glassbottle
|
Glass soda bottle, cup, plate, jar... | |
Tile
|
||
Paper
|
||
Papercup
|
![]() | |
Cardboard
|
||
Plaster
|
Drywall, office wall material, sheetrock. | |
Plastic_barrel
|
Larger plastic barrel, hollow, soft plastic. | |
Plastic_barrel_buoyant
|
Surfaceprop alone does not define whether item can float. At least in ![]() |
![]() |
Plastic_Box
|
Small - Medium plastic box, hard plastic. | |
Plastic
|
Smaller generic hard plastic. | |
Rubber
|
Solid rubber floor mat, solid rubber tire. | |
Rubbertire
|
Hollow rubber tire | |
Slidingrubbertire
|
Special material for monitoring vehicle handling per wheel. | |
Slidingrubbertire_front
|
Special material for monitoring vehicle handling per axle. | |
Slidingrubbertire_rear
|
Special material for monitoring vehicle handling per axle. | |
Jeeptire
|
Tired for the drivable vehicles. | ![]() |
Brakingrubbertire
|
Special material for monitoring vehicle handling per axle. | |
Porcelain
|
Tubs, urinals, sinks, ect. | |
Miscellaneous |
Description | Not in |
Carpet
|
||
Ceiling_tile
|
Acoustic ceiling tiles, sound baffles, crumbly plaster. | ![]() |
Computer
|
Technical equipment. Glass and plastic impact noises, but plastic bullet decals. | |
Pottery
|
Ceramic pots. |
Game-specific
The following surface properties are not part of the base scripts/surfaceproperties.txt
and therefore not available in every game.
These lists only show the surfaceproperties that were added for that game. They still contain all the surfaceproperties in the above list, unless otherwise specified.

scripts/surfaceproperties_hl2.txt
from Half-Life 2. Some game's scripts/surfaceproperties_manifest.txt
do not actually use these files though.These tables are set up to only show the surfaceproperties that are used according to their manifests.
Half-Life 2
These surfaceprops were introduced specifically for Half-Life 2 and its episodes, but this file was shipped alongside numerous games.
$surfaceprop | Description |
---|---|
Antlion
|
|
Antlionsand
|
|
Combine_Glass
|
|
Combine_Metal
|
|
Crowbar
|
|
Gunship
|
|
Metalvehicle
|
|
Metal_Seafloorcar
|
Probably used for the E3 Seafloor map |
Strider
|
|
Zombieflesh
|
Half-Life 2: Episode Two
These surfaceprops were introduced for Half-Life 2: Episode Two. These are not available in Half-Life 2 and Half-Life 2: Episode One due to this surfaceproperties sript only being loaded when EP2 is active.

scripts/surfaceproperties_hl2.txt
in the base game to add the EP2 specific surfaceprops.Alternatively, add the EP2 script file with its manifest as a mod.vpk to the base HL2.
$surfaceprop | Description |
---|---|
Advisor_shield
|
|
Antlion_eggshell
|
|
Cavern_rock
|
|
Hunter
|
|
Jalopy
|
Specifically for the EP2 vehicle. |
Jalopytire
|
Special material for monitoring vehicle handling per axle. |
Slidingrubbertire_jalopyfront
|
Special material for monitoring vehicle handling per axle. |
Slidingrubbertire_jalopyrear
|
Special material for monitoring vehicle handling per axle. |
Alien Swarm
Shipped with scripts/surfaceproperties_hl2.txt
, which is still used.
$surfaceprop | Description |
---|---|
Ammo_pickup
|
Ammo supply boxes |
Ice_noslide
|
Ice, but without the ability to slide. |
Snow_noslide
|
Snow, but without the ability to slide. |
Steam_pipe
|
|
stim_prop
|
Stops glass breaking sounds from playing when stims are kicked around/shot |
Antlion Antlionsand Combine_Glass Combine_Metal Crowbar Gunship Metalvehicle Metal_Seafloorcar Strider Zombieflesh
|
Half-Life 2 leftover. See the Half-Life 2 List. |
Counter-Strike: Source
Shipped with scripts/surfaceproperties_hl2.txt
, but is unused according to its manifest.
$surfaceprop | Description |
---|---|
Brass_Bell_Large Brass_Bell_Medium Brass_Bell_Small Brass_Bell_Smallest
|
Various bells, playing different notes when shot. |
Hay
|
|
Metalvehicle
|
Counter-Strike: Global Offensive
$surfaceprop | Description |
---|---|
Asphalt
|
|
Brass_Bell_Large Brass_Bell_Medium Brass_Bell_Small Brass_Bell_Smallest
|
Various bells, playing different notes when shot. |
Blockbullets
|
Blocks bullets entirely, because the Tools/ToolsBlockBullets doesn't really block bullets.
|
Clay
|
Ceramic jug, mug. |
Dufflebag_SurvivalCase
|
Used for prop_money_crate. |
Glassfloor
|
Like Glass, but with a normal friction value. |
Grate
|
Uses "Metalgrate" as base and has no properties of its own. Probably a leftover. |
Metal_Barrel_ExplodingSurvival
|
Used for prop_exploding_barrel. |
Metal_BarrelSoundOverride
|
|
Metal_Sand_Barrel
|
Barrel of sand. A thickness of 1 unit already blocks all bullets. |
Metal_Shield
|
Uses weapon sounds for weapon_shield. |
Metal_SurvivalCase
|
Base for metal_survivalCase_unpunchable .
|
Metal_SurvivalCase_Unpunchable
|
Used for prop_metal_crate. |
Metal_VehicleSoundOverride
|
|
Metaldogtags
|
Used for item_dogtags. |
Metalvehicle
|
|
Puddle
|
When shot, spawns refracting water splash particles |
Plastic_SurvivalCase
|
Used for the yellow prop_loot_crate. |
Sheetrock
|
Plaster like walls, except uses stone particles for bullet impacts. |
Slowgrass
|
Used for the tall grass material seen on ![]() hidetargetid 1 .
|
Soccerball
|
Used by the soccer ball prop seen on ![]() |
Slipperyslide
|
Like SlipperyMetal, but uses SolidMetal sounds. |
Strongman_Bell
|
Sounds like a boxing ring bell when hit. |
Stucco
|
|
Sugarcane
|
Same Sounds as Foliage, but uses "Dirt" as base, with lower density. As foliage uses higher density. |
Tile_SurvivalCase
|
Used by the blue and red prop_loot_crate, and prop_paradrop_crate. |
Tile_SurvivalCase_GIB
|
|
Upholstery
|
For Couches, sofas, car seats, ect. |
Weapon_Magazine
|
|
Wet
|
Doesn't actually do anything. |
Wood_Basket
|
Like Wood_Box but with different footstep sounds.
|
Wood_Dense
|
Allows much less bullet penetration. |
Jalopy Jalopytire Slidingrubbertire_jalopyfront Slidingrubbertire_jalopyrear
|
Originally from Half-Life 2: Episode Two. See the Episode Two List. |
Day of Defeat: Source
Shipped with scripts/surfaceproperties_hl2.txt
, but is unused according to its manifest.
However, for some reason all those surface properties got added to its base surfaceproperties script.
$surfaceprop | Description |
---|---|
Helmet
|
special sounds when a helmet is shot. |
Antlion Antlionsand Combine_Glass Combine_Metal Crowbar Gunship Metalvehicle Metal_Seafloorcar Strider Zombieflesh
|
Half-Life 2 leftover. See the Half-Life 2 List. |
Left 4 Dead
$surfaceprop | Description |
---|---|
Asphalt
|
|
Clay
|
Ceramic jug, mug. |
Metalvehicle
|
|
Puddle
|
When shot, spawns refracting water splash particles |
Sheetrock
|
Plaster like walls, except uses stone particles for bullet impacts. |
Upholstery
|
For Couches, sofas, car seats, ect. |
Wet
|
Doesn't actually do anything. |
Left 4 Dead 2
$surfaceprop | Description |
---|---|
Asphalt
|
|
Clay
|
Ceramic jug, mug. |
Foliage_Leaf
|
Same as Foliage, except is uses leaf sounds when stepped on. "Foliage" uses dirt sounds when walked on. |
Grate
|
Uses "Metalgrate" as base and has no properties of its own. Probably a leftover. |
Metalvehicle
|
|
Puddle
|
When shot, spawns refracting water splash particles |
Sheetrock
|
Plaster like walls, except uses stone particles for bullet impacts. |
Slipperyslide
|
Like SlipperyMetal, but uses SolidMetal sounds. |
Strongman_Bell
|
Sounds like a boxing ring bell when hit. |
Sugarcane
|
Same Sounds as Foliage, but uses "Dirt" as base, with lower density. As foliage uses higher density. |
Upholstery
|
For Couches, sofas, car seats, ect. |
Wet
|
Doesn't actually do anything. |
Bat Blade Chainsaw Cricketbat Crowbar Fireaxe Fryingpan Golfclub Guitar Pitchfork Shovel Sword
|
Like "Weapon" but used for the melee weapons, giving them unique sounds when dropped. |
Portal
Shipped with scripts/surfaceproperties_hl2.txt
, which is still used.
$surfaceprop | Description |
---|---|
Energyball
|
Unsure what this is. But its listed in the portal surfaceprop file, based on "Glass". "The portal energy ball needs perfectly reflective collisions, reguardless of what it hits". |
Sphere
|
Unsure what this is. But its listed in the portal surfaceprop file, based on "Metal". The sphere needs to have elasticity and dampening set to create a more realistic bounce. |
Antlion Antlionsand Combine_Glass Combine_Metal Crowbar Gunship Metalvehicle Metal_Seafloorcar Strider Zombieflesh
|
Half-Life 2 leftover. See the Half-Life 2 List. |
Portal 2
$surfaceprop | Description |
---|---|
Brokenglass
|
|
Energyball
|
Unsure what this is. But its listed in the portal surfaceprop file, based on "Glass". "The portal energy ball needs perfectly reflective collisions, reguardless of what it hits". |
Hard_light_bridge
|
|
PaintBomb
|
Based on metal. Unsure what this really is used for. |
painted_surface
|
Has paint step sounds, but no other functions. |
Reflective
|
Unsure what this is. But its listed in the portal surfaceprop file, based on "metalpanel". Same description as "Energyball" in Portal 1 had. "The portal energy ball needs perfectly reflective collisions, regardless of what it hits". |
Sphere
|
Unsure what this is. But its listed in the portal surfaceprop file, based on "Metal". The sphere needs to have elasticity and dampening set to create a more realistic bounce. |
Sphere2
|
Portal2's spehere is made of metal and isn't quite as bouncey |
Turret_Gib
|
Gib models of turrets use this. |
Underground_Cube
|
|
WeightedCube_Bounce
|
Extremely bouncy storage cube. |
Team Fortress 2
Shipped with scripts/surfaceproperties_hl2.txt
, which is still used.
$surfaceprop | Description |
---|---|
Ball_Bouncy
|
Rubber bouncy ball. |
Demoman_Grenade
|
|
Grenade_Napalm
|
pyro napalm grenade. |
Passtime_Ball
|
Rubber Pass time ball from Tf2 |
Scout_Baseball
|
Rubber baseball projectile. |
Scout_Ornament
|
Glass christmas tree ornament projectile. |
Wasabiball
|
Based on "Rubber". |
Wrecking_ball
|
|
Antlion Antlionsand Combine_Glass Combine_Metal Crowbar Gunship Metalvehicle Metal_Seafloorcar Strider Zombieflesh
|
Half-Life 2 leftover. See the Half-Life 2 List. |
Third Party Games/mods
The following surfaceprops are added in popular non-Valve games, which can't be found in any official valve titles.
Black Mesa
Shipped with scripts/surfaceproperties_hl2.txt
, which is still used.
$surfaceprop | Description |
---|---|
Concretegrit
|
|
Conveyor_Off Conveyor_On
|
Special properties for the conveyor belts. |
Floating_Metal_Barrel_Bms
|
Special version just for Black Mesa |
Floating_Plastic_Barrel_Bms
|
|
Friction_Metal_00 Friction_Metal_10 Friction_Metal_15 Friction_Metal_25 Friction_Metal_35 Friction_Metal_45
|
Metals with various friction settings. |
Hornet_Bouncy
|
|
Inttower
|
Flesh walk sound used in the interloper tower interior |
Leaves
|
Black Mesa's version of "Foliage_leaf" |
Metalpipe
|
|
Satchel
|
Dufflebag material, or backpack. |
Wet
|
Doesn't actually do anything. |
Xen_Root
|
Fleshy tentacle roots in Xen. |
Antlion Antlionsand Combine_Glass Combine_Metal Crowbar Gunship Metalvehicle Metal_Seafloorcar Strider Zombieflesh
|
Half-Life 2 leftover. See the Half-Life 2 List. |
Garry's Mod
$surfaceprop | Description |
---|---|
FrictionM_00 FrictionM_10 FrictionM_25 Friction_00 Friction_10 Friction_25
|
Material with default sounds, but with various friction settings. |
Gmod_Bouncy
|
|
Gmod_Ice
|
Very low friction on which you slip and slide. |
Gmod_Silent
|
|
Gm_Ps_Egg
|
|
Gm_Ps_Metaltire
|
|
Gm_Ps_Soccerball
|
|
Gm_Ps_Woodentire
|
|
Gm_Torpedo
|
|
Hay
|
|
Phx_Explosiveball
|
|
Phx_Flakshell
|
|
Phx_Rubbertire
|
|
Phx_Rubbertire2
|
|
Phx_Tire_Normal
|
|
Phx_Ww2bomb
|
|
Plastic_Barrel_Verybuoyant
|
Even more buoyant barrel. |
Hunter Jalopy Jalopytire Slidingrubbertire_jalopyfront Slidingrubbertire_jalopyrear
|
Originally from Half-Life 2: Episode Two. See the Episode Two List. |
INFRA
$surfaceprop | Description |
---|---|
Alttile
|
Only has different step sounds |
Bag
|
Dufflebag material, or backpack. |
Balloon
|
Based on plastic, but has a balloon popping sound when broken. |
Crpt
|
Same as Carpet in every way. |
Puddle
|
When shot, spawns refracting water splash particles. Except that Infra does not have weapons. |