This article relates to the game "Left 4 Dead 2". Click here for more information.

Left 4 Dead 2 Detail Props

From Valve Developer Community
< L4D2 Level Design
Revision as of 11:24, 30 June 2025 by MrFunreal (talk | contribs) (Created page, as its difficult to remember in L4D2 which materials can be used together because of the detail prop exclusivity.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
English (en)Translate (Translate)

Left 4 Dead 2 Left 4 Dead 2 has three different sources of where it got its nature textures and their detail props from. Some from Counter-Strike: Source, Left 4 Dead, and some made new for Left 4 Dead 2.
Unfortunately, these are sometimes mutually exclusive, by virtue of their detail props needing to use a different "Detail Material File" setting, which can be found when heading to "Map Properties" in Hammer Hammer.

Using incompatible materials will cuase the grass sprites to use the wrong texture, which will show floating or otherwise misaligned grass sprites populating your map.
This page helps to remove the confusion as to what materials are compatible with each other, by listing them by what "Detail Material File" they must use.

Note.pngNote:You can change the used %DetailType to make materials compatible. See Making materials compatible.
Warning.pngWarning:%DetailType "alleydirt_leaves" was never ported from L4D1 to L4D2. It's only used on "nature/blend_alleydirt_leaves", from Crash Course.
%DetailType "urban_overgrown_docks" does not exist in neither L4D1 nor L4D2.
These two are contained in this Github Repo, amongst many other updates to hammers fgd.

Materials separated by Detail Material

These four lists show all materials in L4D2 that do make use of %DetailType in their vmt files.
Refer to these when deciding what materials to use, in order to make sure you only use the ones with the identical Detail Material File setting in Hammer.

DetailSprites

BlendLeavesTrainyardDirtB.vmt is the only material that uses detail/detailsprites.

Which means your map can not use any other materials with sprites on it, as none other share this Detail Material. Unless you modify this material as explained in Making materials compatible.

Note.pngNote:Whilst there exist more %DetailTypes that would make use of detail/detailsprites.vmt, no material in L4D2 makes use of those %DetailTypes. The Details.vbsp was probably taken from Counter-Strike: Source without removing obsolete data.

DetailSprites_Overgrown

These blend materials all use "details/DetailSprites_Overgrown.vmt". These can only be used with each other, or any blend materials that do not have any sprites to begin with.

RuralDetailSprites

These blend materials all use "details/RuralDetailSprites.vmt". These can only be used with each other, or any blend materials that do not have any sprites to begin with.

Note.pngNote:* These materials only exist in the provided Github Repo. As they originally were broken or didn't exist.

No Detail Material

The following materials do not have any grass or plant sprites. This allows them to be used with any other material without issue.

Materials without Details/Sprites 
  • blend_alley_conc_dirt
  • blend_blacktop_01
  • blend_blacktop_01_cheap
  • blend_blacktop_01_wet
  • blend_blacktop_02
  • blend_blacktop_02wet
  • blend_blacktop_03
  • blend_blacktop_03wet
  • blend_blacktop_03wet_dirt
  • blend_blacktop_04
  • blend_blacktop_05
  • blend_blacktop_06
  • blend_blacktop_06
  • blend_blacktop_brick_01
  • blend_blacktop_brick_01b
  • blend_blacktop_cobb_01
  • blend_blacktop_cobb_01dry
  • blend_blacktop_cobb_02
  • blend_blacktop_cobb_02_dry
  • blend_cliff_leaves
  • blend_concrete_01
  • blend_dirt_concrete_01
  • blend_dirt_concrete_01wet
  • blend_dirt_concrete_02
  • blend_dirt_concrete_03
  • blend_dirt_concrete_03wet
  • blend_dirt_concrete_04
  • blend_dirt_concrete_06
  • blend_dirt_ext_01
  • blend_dirt_ext_03
  • blend_dirt_mud_01
  • blend_dirtrubble01
  • blend_docks_dirt_gravel
  • blend_docks_grass_pavement
  • blend_donner_rubble1_dirtfloor013a
  • blend_grass_black_01
  • blend_grass_grass_01
  • blend_grass_grass_02_cheap
  • blend_grass_gravel_01_cheap
  • blend_grasslawn_dirt_nosprites
  • blend_leaves_dirt_nodetail
  • blend_leaves_dirt_nodetail_mod
  • blend_leaves_estuary
  • blend_logs_moss
  • blend_lots_conc_dirt
  • blend_lots_conc_grass
  • blend_lots_conc_pavement
  • blend_milltowngrass02wet
  • blend_milltowngrass03wet
  • blend_milltowngrass04wet
  • blend_river_dirt02
  • blend_roof_01
  • blend_rubble_01
  • blend_rubble_02
  • blend_sand03_cliff
  • blend_sidewalk02
  • blend_sidewalk_01
  • blend_sidewalk_01_wet
  • blend_sidewalk_01dry
  • blend_sidewalk_dirt
  • blend_sidewalk_grass
  • blend_urbandirtlawn01_cheap
  • blendbeachleaves
  • blendconcrete38a12a_noshadow
  • blendconcrete_dirt
  • blenddirtcorn01
  • blenddirtdirt001a
  • blenddirtleaves03_burned
  • blenddirtleaves03_nodetail
  • blenddirtparkinglot01
  • blendgrassstonepath
  • blendgraveldirt001a
  • blendmudleaves
  • blendpavementleaves
  • blendrockcavewall
  • blendrockleaves
  • blendrockleaves02
  • blendrockleaves03
  • blendrockwaterleaves
  • blendrockwaterrock
  • blendswamprootleaves01_cheap
  • grassdirt_blend
  • milground011_rock2b
  • ti_nospr_blendrockstone1
  • ti_nospr_blendrockstone2
  • ti_nospr_blendrockstone3
  • ti_nospr_blendrockstone4
  • tiblendwaterrockstone
  • zblendwetrockurock

Existing %DetailTypes

When creating custom materials you must make sure all materials make use of the same "Detail Material" setting in Hammer Hammer Hammer.
This list shows what %DetailTypes exist and which Detail Material File they use. Pick any of these for your custom materials.

Making materials compatible

If you do want to use two or more materials that are usually mutually exclusive, you need to edit them to use any %DetailType from the table above that use the same Detail Material File.

You can achieve this without needing to ship a custom material with your map. Simply take the file out of your game, recreate the folderpath like any regular addon would, edit the %DetailType value in the vmt, and pack into a vpk named pak01_dir.vpk.
Once that is done, create a folder in your L4D2 directory, next to the DLC folders, named "Detailtype_edits" that contains this pak01_dir.vpk.
Next, open the gameinfo.txt in steamapps\common\Left 4 Dead 2\left4dead2 and scroll down until you see "Game update". Above that line, add "Game Detailtype_edits".
This will successfully mount your modified materials with different %DetailType value.

As long as you only change the %DetailType value, the game will read that date during compile and use that modified %DetailType value in every subsequent compile, until this gameinfo edit is undone or the vpk is deleted.
The genius of this approach is that the maps remember what %DetailType value had been used when the map was compiled.
This means that the custom %DetailType value is kept and you do not need to ship this modified material with your map, as the game already has this material.