Create custom detail props
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.

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 string | A unique name for the detail type. The Material Editor uses it to set which detail type a material uses. |
|---|---|
| Density int | Sets how many detail models appear per square unit, through amount * density * surface_area * 1e-6. |

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 float | The opacity of the whole group, from 0.0 to 1.0. |
|---|
alpha "0.0" is invisible. alpha "1.0" is fully visible.
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 float | The share of the group this model takes. It is part of the same equation: amount * density * surface_area * 1e-6. |
|---|
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.

| Sprite bounds string | Maps the sprite to its part of the sprite sheet. Click the edit button and drag the sliders to set the bounds. |
|---|---|
| Size int | The sprite's width and height, in world units. |
| Orientation int | How the sprite reacts to the camera's point of view. |
| Random scale float | How 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.

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.
