Skip to content
XBLAH's Modding Tool Download

Create custom detail props

Source Advanced · Updated 14 Oct 2026 · 3 min read

Written for version 2.5.3. Some labels may have changed since.

On this page

Detail props are small things like grass sprites or rocks that dress up your displacements. You create your own with the Details Editor.

The compiler takes them from a details.vbsp file, usually in the mod's root folder, and from a .vmt that sets up a sprite sheet, usually in materials/detail/

1. Open the Details Editor

Open Materials Dashboard > Details Editor

2. Create a sprite sheet

You can create a sprite sheet, or use one that comes with the game.

To create one, open the Sprite Sheet list and select New Sprite Sheet. Then right-click the Selected Tile control and choose Import Image.

You can also edit single parts of the sheet: adjust their bounds and import a sprite for each one.
Creating a sprite sheet in the Details Editor

3. Add a detail type

One file can hold several detail types. Click the plus sign next to the Detail Type list to add one, and give it a unique name.

Name stringA unique name for the detail type. The Material Editor uses it to set which detail type a material uses.
Density intSets how many detail models appear per square unit, through amount * density * surface_area * 1e-6.
A density of 1,000,000 places one detail model per square unit.
A new detail type in the Details Editor

4. Add a detail group

A detail type needs at least one detail group. Click the plus sign in the Detail Groups control to add one.

Alpha floatThe opacity of the whole group, from 0.0 to 1.0.
alpha "0.0" is invisible. alpha "1.0" is fully visible.
A detail group and its Alpha value

5. Add detail models

A detail group needs at least one detail model. A model can be a sprite from the sprite sheet, or a low-poly model.

Amount floatThe share of the group this model takes. It is part of the same equation: amount * density * surface_area * 1e-6.
If the amounts of a group add up to less than 1, fewer detail props appear than the density sets.

Using sprites

Set the type to Sprite. Use the edit button to adjust the sprite bounds, and check the result in the Selected Tile control.

A sprite detail model and the Selected Tile preview
Sprite bounds stringMaps the sprite to its part of the sprite sheet. Click the edit button and drag the sliders to set the bounds.
Size intThe sprite's width and height, in world units.
Orientation intHow the sprite reacts to the camera's point of view.
Random scale floatHow much the sprite's size can vary at random, from 0.0 to 1.0.
spriterandomscale "0.0" gives the sprite a fixed size. spriterandomscale "0.5" lets its size vary by up to 50% either way.

Using models

Set the type to Model, then select the model file.

A model detail model with its model file

6. Save

When everything is set, click Top Menu > File > Save If you made your own sprite sheet, the tool asks you to save it too.

7. Point Hammer++ to your files

In Hammer++, open Map > Map Properties and set the path to the details.vbsp you created, and to the sprite sheet's material.

The Map Properties of Hammer++ with the detail files set
Was this page helpful?