> For the complete documentation index, see [llms.txt](https://2yeet.gitbook.io/anvilcsg/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://2yeet.gitbook.io/anvilcsg/surfaces-and-content/decals.md).

# Decals

Anvil decals are projected mesh objects. They can be clipped to one face or projected through several surfaces in a volume.

## Place a decal

1. Open **Material Paint** with `Shift+A`.
2. Select the **Decal** tab.
3. Choose a material.
4. Choose **Face** or **Volume** as the Target.
5. Adjust Size, Depth, Angle, Rotation, and Offset.
6. Left-click the target in Perspective.

Perspective is the most reliable view for decal placement. `Ctrl/Cmd+left click` samples a decal material from an existing surface.

Placement is one-shot. After a decal is created, it becomes selected, the active decal material is cleared, and the panel returns to **Brush Paint**.

## Face and Volume targets

**Face** clips the decal to the selected surface.

**Volume** uses one projector through a box. When the anchor face belongs to a Group, the projection is limited to that Group. Use this for a mark that must cross several faces of one grouped object.

Available placement controls are:

* Aspect Lock
* Size X and Size Y
* Depth
* Angle
* Rotation
* Offset

## Edit an existing decal

Right-click a decal to access:

* **Edit Decal...**
* **Reproject Decal**
* **Select Target Brush**
* **Replace Material...**
* Cut, Copy, Paste, Duplicate, and Delete
* Group and Ungroup
* **Snap Origin To Grid**

Decals track the geometry and transform of their target. **Reproject Decal** rebuilds the projection after an edit if the visible result needs refreshing.

Copy and paste creates an independent decal mesh and tries to bind it to the corresponding target. If that target is no longer valid, Anvil can use a nearby face. Deleting a bound target also removes its bound decals.

## How decals are built

Each decal is a standalone static object with a MeshFilter, MeshRenderer, MeshCollider, and AnvilDecal component. It stays as a separate renderer in generated output so its material and sorting remain correct. It follows the Build Section and Group ownership of its target.

Decals do not cast or receive shadows. They are projected meshes, not extra brush faces.
