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.


sounds/materials.txt
. This file usually has documentation at the top dictating which surface types are available in the given mod.Types
About the following first table:
- Each row represents a surface property available in multiple games. (The game-specific ones are below.)
- Games listed in the "Only in" column are the only ones that have that surfaceprop. If empty, the surfaceprop should be available in all games.
- Games listed in the "Not in" column had that surfaceprop removed. Such as
Zombieflesh
which was shipped with Half-Life 2 but is ironically not in the Left 4 Dead series anymore. - If a surface property is available in some game, one can expect that it is also available in mods of it, like Portal: Revolution being a mod of Portal 2.
Most of the following surface properties are shipped in scripts/surfaceproperties.txt
, which almost every game has.
Some HL2-specific surface properties are shipped in scripts/surfaceproperties_hl2.txt
. Those are only for the HL2 series, such as Strider
, but some games ship that file as well. Some games even ship this file but delete some surfaceprops from it.

If a surfaceprop happens to also be in a third party mod, it will also be listed as "Only in" inside this first list. Or appear in the "Not in" list if that mod happened to remove it from the base list.

















Special |
Description | Only in | 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 | Only in | Not in |
Baserock
|
Missing in most games. Why is it listed here? | ||
Boulder
|
Will cause material glitches if used in models | ||
Brick
|
|||
Cavern_rock
|
![]() ![]() |
||
Concrete
|
|||
Concrete_block
|
9x12 prefabricated concrete cinder blocks. | ||
Gravel
|
|||
Rock
|
Solid rock (small sounds). | ||
Sheetrock
|
Plaster like walls, except without paper-like particles. Uses rocks instead. | ![]() ![]() |
|
Metal |
Description | Only in | Not in |
brass_bell_large brass_bell_medium brass_bell_small brass_bell_smallest
|
Various bells, playing different notes when shot. | ![]() ![]() |
|
Canister
|
Large oxygen tank, propane tank, welding tank. | ||
Chain
|
Metal chain. | ||
Chainlink
|
Chainlink fencing material. | ||
Combine_metal
|
Part of scripts/surfaceproperties_hl2.txt . Native to HL2, and the games shipping with this script.
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
Crowbar
|
Sounds for specifically the crowbar. Part of scripts/surfaceproperties_hl2.txt . Native to HL2, and the games shipping with this script.
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
Grenade
|
Sounds like a small metal object when dropped, but sounds like dirt when stepped on. | ![]() | |
Gunship
|
Part of scripts/surfaceproperties_hl2.txt . Native to HL2, and the games shipping with this script.
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
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) | ||
Metal_seafloorcar
|
Part of scripts/surfaceproperties_hl2.txt . Native to HL2, and the games shipping with this script.
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
Metalgrate
|
Metal grating, used for decking | ||
Grate
|
Uses "Metalgrate" as base and has no properties of its own. Probably a leftover. | ![]() ![]() |
|
Metalpanel
|
Thick solid steel panel - used for solid wall, floor, machine construction. | ||
Metalvent
|
~1mm thick metal | ||
Metalvehicle
|
Part of scripts/surfaceproperties_hl2.txt . Theoretically native to Half-Life 2 series only, but many other games also use it.Its easier listing which game doesn't have this. |
![]() ![]() ![]() ![]() | |
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 | ||
Strider
|
![]() ![]() ![]() | ||
Weapon
|
Sounds for when weapons drop. | ![]() | |
Strongman_bell
|
Sounds like a boxing ring bell when hit. | ![]() ![]() |
|
Slipperyslide
|
Like SlipperyMetal, but uses SolidMetal sounds. | ![]() ![]() |
|
Wood |
Description | Only in | 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 | Only in | Not in |
Dirt
|
|||
Grass
|
|||
Gravel
|
|||
Mud
|
|||
Quicksand
|
Does not let you sink like in quicksand. | ||
Sand
|
|||
Slipperyslime
|
Very low friction on which you slip and slide, just like ice. | ||
Antlionsand
|
Part of scripts/surfaceproperties_hl2.txt . Native to HL2, and the games shipping with this script.
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
Sugarcane
|
Same Sounds as Foliage, but uses "Dirt" as base, with lower density. As foliage uses higher density. | ![]() ![]() |
|
Liquid |
Description | Only in | 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. |
||
Puddle
|
When shot, spawns refracting water splash particles | ![]() ![]() ![]() ![]() |
|
Wet
|
Doesn't actually do anything. | ![]() ![]() ![]() |
|
Frozen |
Description | Only in | Not in |
Ice
|
Very low friction on which you slip and slide. | ||
Snow
|
|||
Organic |
Description | Only in | Not in |
Alienflesh
|
![]() | ||
Antlion
|
Part of scripts/surfaceproperties_hl2.txt . Native to HL2, and the games shipping with this script.
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
Antlion_eggshell
|
![]() |
||
Armorflesh
|
Flesh for physics, metal for bullet fx. | ||
Bloodyflesh
|
Does not spawn bloody bullet decals in ![]() |
![]() | |
Flesh
|
Medium-sized body. | ![]() | |
Foliage
|
|||
Hay
|
![]() ![]() |
||
Hunter
|
![]() ![]() |
||
Watermelon
|
![]() ![]() ![]() | ||
Zombieflesh
|
Part of scripts/surfaceproperties_hl2.txt . Native to HL2, and the games shipping with this script.
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() ![]() |
Manufactured |
Description | Only in | Not in |
Advisor_shield
|
![]() |
||
Asphalt
|
![]() ![]() ![]() |
||
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... | ||
Combine_glass
|
Part of scripts/surfaceproperties_hl2.txt . Native to HL2, and the games shipping with this script.
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
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. | ||
Jalopy
|
![]() ![]() ![]() |
||
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. | ![]() ![]() ![]() |
|
Clay
|
Ceramic jug, mug. | ![]() ![]() |
|
Porcelain
|
Tubs, urinals, sinks, ect. | ||
Upholstery
|
For Couches, sofas, car seats, ect. | ![]() ![]() |
|
Miscellaneous |
Description | Only in | Not in |
Carpet
|
|||
Ceiling_tile
|
Acoustic ceiling tiles, sound baffles, crumbly plaster. | ![]() | |
Computer
|
Technical equipment. Glass and plastic impact noises, but plastic bullet decals. | ||
Helmet
|
special sounds when a helmet is shot. | ![]() |
|
Pottery
|
Ceramic pots. |
Game-specific
The following surface types are only available in one game.
Alien Swarm
$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 |
Counter-Strike: Global Offensive
$surfaceprop | Description |
---|---|
Blockbullets
|
Blocks bullets entirely, because the Tools/ToolsBlockBullets doesn't really block bullets.
|
dufflebag_survivalCase
|
Used for prop_money_crate. |
Glassfloor
|
Like Glass, but with a normal friction value. |
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. |
plastic_survivalCase
|
Used for the yellow prop_loot_crate. |
slowgrass
|
Used for the tall grass material seen on ![]() hidetargetid 1 .
|
soccerball
|
Used by the soccer ball prop seen on ![]() |
stucco
|
|
tile_survivalCase
|
Used by the blue and red prop_loot_crate, and prop_paradrop_crate. |
tile_survivalCase_GIB
|
|
weapon_magazine
|
|
Wood_Basket
|
Like Wood_Box but with different step sounds.
|
Wood_Dense
|
Allows much less bullet penetration. |
Left 4 Dead 2
$surfaceprop | Description |
---|---|
Bat Blade Chainsaw Cricketbat Crowbar Fireaxe Fryingpan Golfclub Guitar Pitchfork Shovel Sword
|
Like "Weapon" but used for the melee weapons to give specific sounds when they are dropped. |
Foliage_leaf
|
Same as Foliage, but uses Foliage sounds, instead of Dirt sounds. |
Portal
$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
|
Unsre 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 |
Portal 2
$surfaceprop | Description |
---|---|
brokenglass
|
|
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
|
Unsre 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, reguardless of what it hits". |
Turret_Gib
|
Gib models of turrets use this. |
Underground_Cube
|
|
WeightedCube_Bounce
|
Extremely bouncy storage cube. |
Team Fortress 2
$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
|
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
$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. |
Xen_Root
|
Fleshy tentacle roots in Xen. |
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
|
|
phx_explosiveball
|
|
phx_flakshell
|
|
phx_rubbertire
|
|
phx_rubbertire2
|
|
phx_tire_normal
|
|
phx_ww2bomb
|
|
plastic_barrel_verybuoyant
|
Even more buoyant barrel. |
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. |