> 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/uv-alignment.md).

# UV alignment

Anvil stores UV offset, scale, and rotation per brush face. Use the UV commands to fit one face, copy mapping from another face, or continue a texture around connected geometry.

## Manual alignment

Use this when you know which face already has the correct material and alignment:

1. Open **Material Paint** with `Shift+A`.
2. Hold `Ctrl` on Windows or `Cmd` on macOS and left-click the source face.
3. Hold `Alt` and left-click the target face.
4. Repeat from the newly aligned face when continuing around a pillar, arch, or reveal.

The first click samples the material coordinate system. The second click applies it to the target. Generated arcs use their curved projection path so the texture phase can continue across segments.

> **Input note:** The working alignment input is `Alt+left click`. An older workspace hint may still say `Alt+RMB`.

## Align automatically

For a whole brush:

1. Select the brush or generated shape.
2. Open its context menu.
3. Choose **UV > Try Align**.

For selected faces, choose **UV > Align From Neighbor** from the face context menu. The same action is available in Material Paint.

Automatic alignment searches touching or nearby unselected brushes for a useful source, then propagates the mapping across the selected geometry. It keeps the target materials. This is intended for common seams around pillars, arches, reveals, and selected face bands.

Check the result in Perspective after running it. If Anvil chooses the wrong source, use manual alignment from the face you want.

## UV Options

Open **UV > Options...** from a brush or face context menu to edit:

* Offset X and Offset Y
* Scale X and Scale Y
* Rotation
* Fine `0.1` adjustments
* Fit
* Center
* Reset
* Left, Center U, and Right justification
* Top, Center V, and Bottom justification

Use **Apply To All Faces** to copy the current values across one brush. **Apply To Group** is available when every target belongs to a group.

Face context menus also provide quick commands for **Fit Texture**, **Align From Neighbor**, and **Reset**. Brush context menus provide **Try Align**, **Reset**, and **Options...**.

## Texture Lock

Press `Shift+L` to toggle global Texture Lock. Enable it before moving or reshaping geometry when the current texture placement should stay attached to that geometry.

## Limits

* **Apply To Group** copies a common transform. It is not a special seamless unwrap for curved shapes.
* Regenerating a generated primitive can replace manual UV changes made directly to its generated child brushes.
* Automatic alignment needs a suitable touching or nearby source. Use the manual sample and apply workflow when no good source exists.
