> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rageon.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Layers and tools

> Stack images, brush strokes, text, and gradients over a game texture, limit them to chosen parts of the model, and reuse your graphics.

Layers paint over the game texture where one exists. New liveries, tattoos, and patches start transparent; **Clean** face overlays also have no game pixels underneath. Export creates the game files without changing your GTA V installation. Edits without layers are skipped, except **Clean** face overlays, which export a transparent texture even without layers.

## Add a layer

Open the **Layers** tab and click **Add layer**. The new layer lands on top and is selected.

![Add layer menu listing Import image, Brush, Solid color, Gradient, Shape, Noise, Text, and Color adjustment](https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-add-layer-menu.webp?fit=max\&auto=format\&n=TCzaS11pSGz1CPPK\&q=85\&s=5dbb844e3fecde60b00f8b245afe9cfb)

The Add layer menu.

| Layer | What you get |
| - | - |
| **Import image…** | Your own `.png`, `.jpg`, `.jpeg`, `.webp`, `.gif`, `.apng`, or `.avif` file. File edits use a still image. Skins and edits already set to **In game** can import animation from GIF, WebP, APNG, or AVIF, up to the first 32 frames; unsupported animation falls back to a still image. |
| **Brush** | A layer you paint on by hand. |
| **Solid color**, **Gradient** | Generated at the size of the texture. |
| **Shape** | **Rectangle**, **Ellipse**, or **Line**, with fill or line color and outline or thickness. **Size (px)** sets the drawing's resolution before scaling. |
| **Noise** | Grain with **Color**, **Intensity**, **Grain (px)**, and **Seed**. **Roll** changes the grain pattern. |
| **Text** | Text with a font, size, color, and outline. |
| **Color adjustment** | Changes **Hue**, **Saturation**, and **Lightness** of everything below it. |

**Add layer** is disabled when the texture cannot be written.

> [!TIP]
>
> For an animated swap, switch to **In game** before importing. If you imported while in **File**, import the image again after switching modes.

### Gradient

Choose **Linear** or **Radial** under **Type**. A linear gradient also has an **Angle**. Each stop has a **Color**, a position (**Pos**), and an opacity (**Opac**). **Add stop** inserts one in the largest gap; a gradient always keeps at least two.

![Layers tab with a gradient layer selected, showing Blend, Opacity, Type, Stops, and Transform](https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-layer-gradient.webp?fit=max\&auto=format\&n=TCzaS11pSGz1CPPK\&q=85\&s=247f75464fcee9260cb307feb9312c7a)

A gradient layer: Composition, Gradient, and Transform sections.

### Text

Enter the wording in **Text**; the layer takes the text as its name. Pick a **Font** from the list and set **Size (px)**, **Bold**, **Italic**, **Color**, and an **Outline**.

![Text layer settings with the Font list open](https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-layer-text.webp?fit=max\&auto=format\&n=TCzaS11pSGz1CPPK\&q=85\&s=bb5dc4080cc58419ab42aeeca29115cd)

A text layer with the Font list open.

On weapon skins, the **Dynamic variables for FiveM** button opens **FiveM variables**. Choose a variable to add it to the **Text** field. The button also appears on other text layers containing variables, but live text is exported only for weapon skins.

On skins, `rageon-bridge` updates `{ammo}`, `{max_ammo}`, `{total_ammo}`, and `{weapon_name}` from the equipped weapon. Your script must supply `{kills}`, `{player_name}`, `{player_id}`, and `{serial}` with `exports['rageon-bridge']:setSkinVariable('kills', value)` or `setSkinVariables`. Other edits export the text as part of the image.

## Arrange layers

The top row is the top layer. Drag rows to change their order. Use **Rename** or **F2** to rename a layer, and **Layer actions** for duplication, locking, mirroring, and removal.

![Layer row context menu with Rename, Duplicate, Isolate, Lock, Flip, order, and Remove](https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-layer-menu.webp?fit=max\&auto=format\&n=TCzaS11pSGz1CPPK\&q=85\&s=71d9a61d53c9048560f10040acad0604)

The layer row menu.

**Isolate** hides every other layer so you can check one; click it again to show them all. A locked layer cannot be picked on the stage, which keeps a background from stealing clicks.

**Composition** sets **Blend** (from **Normal** to **Luminosity**, the usual blend modes) and **Opacity**. On a **Color adjustment** layer the opacity control is **Intensity**. **Transform** takes exact **Position X (px)**, **Position Y (px)**, **Scale X**, **Scale Y**, and **Rotation**, with **Flip horizontally** and **Flip vertically** under **Mirror**.

On the stage, drag a layer to move it and use the handles to resize and rotate. **Shift** locks the axis while moving, keeps the angle on fixed steps while rotating, and frees the proportions on a corner handle. **Alt** switches snapping off. **Ctrl**+click picks the topmost layer even when another one covers it.

When you edit a **Normals** texture and import a normal map made for OpenGL, turn on **Invert green (OpenGL → DirectX)** under **Normal map**.

## Paint with the brush

**1. Add a Brush layer and press B**

The **Brush (B)** tool is available only while an unlocked **Brush** layer is selected.

**2. Set the stroke**

Open **Brush settings**. **Color**, **Size (px)**, **Hardness**, and **Opacity** shape the stroke. **Eraser** removes paint from this layer only.

**3. Drag on the stage**

Each stroke is one undo step.

![Brush settings popover next to a stroke painted on the texture and the 3D car](https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-brush.webp?fit=max\&auto=format\&n=TCzaS11pSGz1CPPK\&q=85\&s=ce66b49ccf514933dd1e40fc3343062c)

A brush stroke on the Adder with the Brush settings popover open.

**Strokes** in the layer's section counts the strokes, and **Clear** removes them all.

## Limit a layer to parts of the model

Use **Clip layer (M)** to keep a layer on chosen geometry, such as painting the hood only.

**1. Select the layer and click Clip layer (M)**

The tool needs a selected layer and a model that uses the texture. Open **Clip mode** to choose how you select.

![Clip mode popover with Component, Triangle, and Lasso](https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-clip-mode.webp?fit=max\&auto=format\&n=TCzaS11pSGz1CPPK\&q=85\&s=af149bc6b02fcfc89f927d96b69470cd)

Clip mode with Component selected.

**2. Pick geometry**

**Component** takes a whole part with all its UV islands. **Triangle** (or **Quad**, with **Mesh faces** set to **Quads**) picks faces by click or drag. On the 2D stage, **Ctrl** adds components or faces and **Alt** removes them; without modifiers, a picked component or face toggles its selection. With **Lasso**, release while holding **Shift** to add or **Alt** to remove; release without either to replace the selection. **Ctrl+A** selects every face using this texture.

In 3D, hold **Shift** and click or drag to pick geometry. Turn on **Mesh on model** in **Viewer** first.

To see what you are picking on the 2D stage, set **Map mode** to **Guide** in **Viewer**.

**3. Tune the edge**

The layer shows a scissors icon and a **Cutout · … triangle(s)** section. **Bleed** grows the cutout past its edge, which closes seams; a negative value shrinks it. **Feather** softens the edge. **Invert** applies the layer everywhere except the selection, for example the whole car except the hood. **Clear** releases the layer to the whole texture.

![Clipped gradient layer with the UV guide, selection on the car, and the Cutout section](https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-clip-result.webp?fit=max\&auto=format\&n=TCzaS11pSGz1CPPK\&q=85\&s=132169e74e2022d1ca486e5e6b30f629)

A layer clipped to one body part, with the UV guide and the selection on the 3D car.

## Read the UV map and the 3D preview

Click **Viewer** in the tools strip for the display controls.

![Viewer popover with 3D preview, Mesh on model, Selection on model, Map mode, and Mesh faces](https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-viewer-popover.webp?fit=max\&auto=format\&n=TCzaS11pSGz1CPPK\&q=85\&s=86ffebc9cd28154a73ade8a41cd06efb)

The Viewer popover.

| Option | What it does | Default |
| - | - | - |
| **3D preview** | Shows the model wearing your edit as you work. Turn it off to give the 2D stage the full width. | On |
| **Mesh on model** | Draws the wireframe of the parts that use this texture. Needed to click geometry in 3D. | On |
| **Selection on model** | Shows the clip selection on the model. | On |
| **Map mode** | Overlay on the 2D stage. **Guide** fills the parts you can paint, **Outline** draws their borders, and **Mesh** draws the mesh. For ready-made guides, including liveries, plates, and the minimap, the choices are **Hidden** and **Template**. | **Mesh** for model UVs; **Template** for ready-made guides |
| **Mesh faces** | **Quads** or **Triangles**, for the overlay and for face clipping. | **Quads** |
| **Only faces in view** | Shows only faces facing the axis selected on the 3D orientation gizmo. Requires a selected axis and a visible UV map; unavailable with ready-made guides. | Off |

A warning strip under the 3D preview tells you when something affects what you see:

| Message | What it means |
| - | - |
| This texture does not appear on the model. No 3D preview. | The model does not use this texture. The edit still exports. |
| This texture repeats across the model: … | The cutout shares texels with almost all of the geometry, so paint shows up everywhere. |
| This model's UV reuses texels: the paint also shows on … triangle(s) outside the cutout… | Some faces share the same area of the texture. Painting there also paints them. |
| The 3D preview does not show this edit. The saved file comes out correct. | Preview limitation only. |

## Reuse your graphics

The **Library** tab keeps images you reuse across projects. Use the + button to copy images into your graphics library. **Reload the folder** refreshes both your graphics and AI history. **Search** filters graphics by file name and AI history by request text. Choose a thumbnail to add it as a layer; the project keeps its own copy, so removing it from the library does not change existing edits.

The **AI generated** section holds every image the **AI** tab returned for this texture, including the ones you did not use. Click one to put it over the whole texture. Reusing a past result costs no credits. See [AI generation](/projects/texturing/ai-generation.md).

![Library tab with My graphics and AI generated thumbnails](https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-library.webp?fit=max\&auto=format\&n=TCzaS11pSGz1CPPK\&q=85\&s=b11a4c08ff8591d86315c81f79cbe0a9)

Library with your graphics and the AI history for this texture.

> [!WARNING]
>
> **Remove from library** and **Remove from history** ask for confirmation. **Delete** permanently removes the library or history copy; existing project layers keep theirs. A deleted history image must be generated again if you have no other copy, which costs credits.

## Shortcuts

| Key | Action |
| - | - |
| **V** / **B** / **M** | Move and transform, **Brush (B)**, **Clip layer (M)**. |
| **Esc** | Cancels a clip selection, then returns to move, then deselects. |
| **Delete** / **Backspace** | Removes the selected unlocked layer. |
| **Ctrl+D** | Duplicates the layer. |
| **Ctrl+\[** / **Ctrl+]** | Moves the layer down / up. Add **Shift** for back / front. |
| **Arrow keys** | Nudge the layer 1 px; with **Shift**, 10 px. |
| **Ctrl+Z** / **Ctrl+Shift+Z** or **Ctrl+Y** | Undo / redo, across the whole project. |
| **Ctrl+S** / **Ctrl+E** | Save / export to the last destination. |

Canvas shortcuts are ignored while you edit a field or a dialog is open. Locked layers cannot be moved, duplicated, reordered, or removed with the canvas shortcuts.

## Troubleshooting

> **Choose a brush layer — or create one in Add layer**
>
> The brush works on **Brush** layers only. Add one, or select an existing one.

> **Choose a layer to clip it to a component**
>
> Select a layer first, then click **Clip layer (M)**.

> **Clipping unavailable: the texture is not in the loaded model**
>
> The model does not use this texture, so there is no geometry to pick. Choose a texture the model wears.

> **The layer is locked**
>
> Click **Unlock** in the layer menu, then try again.

> **Choose an editable texture in the panel below.**
>
> The texture cannot be written, so layers are off. Pick another texture in **New edit**.

> **Could not read the library: …**
>
> The graphics folder could not be opened. Check that it exists and that Rageon can read it, then click **Reload the folder**.

> **Could not copy to the library: …**
>
> The file could not be copied into the graphics folder. Check the file and the free space on the drive, then try again.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.