> ## 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.

# Model and global textures

> Repaint one texture of a vehicle, ped, weapon, clothing piece, or prop, or a texture in a shared dictionary, and choose how it reaches the game.

**Model texture** lets you choose a model and one of its textures. **Global texture** lets you choose a `.ytd` dictionary directly. Either route can reach a shared texture: if the notice says other models use it, the edit changes them too.

## Edit a model texture

**1. Choose the model**

In **New edit**, select **Model texture**. The list is the same catalog as the Viewer. Open **Options** and set **Model type** to switch from **Vehicles** to **Peds**, **Weapons**, **Clothing**, or **Props**, then search in **Search models...**.

![New edit on Model texture with the adder model, a texture grid, and the detail strip](https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-new-edit-model.webp?fit=max\&auto=format\&n=TCzaS11pSGz1CPPK\&q=85\&s=ca0eed00507e02b25374b54527373025)

Model texture: the Adder, its textures, and the detail strip.

![New edit with Options open and Model type set to Props](https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-new-edit-props.webp?fit=max\&auto=format\&n=TCzaS11pSGz1CPPK\&q=85\&s=ce32ca78d667db81c33dd8729b814187)

Model type set to Props.

**2. Pick a texture**

Each tile shows a preview, the texture name, its use, size, and format. Narrow the grid with **Texture use** (for example **Livery**, **Decal**, **Normals**) or **Search textures**. A lock icon means the texture cannot be edited; the tile says why. A check means the texture is already in the project.

Prefer **Livery** or **Decal** for artwork. **Base color** changes the surfaces that use that texture; check the UV map and 3D preview.

**3. Click Continue**

The 2D stage shows the game texture and the 3D preview shows the model wearing your layers. If the project already edits this texture, **Continue** reopens that edit.

A model can also arrive pre-picked: from the Assets tab, **Open in** › **Projects** › **Edit texture** ([Send to Projects](/assets/send-to-project.md)), or from the Map tab as **Map model**.

## Edit a global texture

**1. Choose the dictionary**

Select **Global texture**. The list shows texture dictionaries instead of models. Pick one, then a texture tile.

![New edit on Global texture with the shared dictionary selected and the warning that the edit affects all models using the texture](https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-new-edit-global.webp?fit=max\&auto=format\&n=TCzaS11pSGz1CPPK\&q=85\&s=cb1c9d74101c6c420c185c0bd8d36006)

A texture picked from the shared dictionary, with the shared warning.

**2. Click Continue**

A banner warns that other models use the same file. A new edit opened from a dictionary has no 3D model preview.

> [!WARNING]
>
> "The edit affects all models that use this texture." is literal: a shared dictionary changes every model that reads it. Check the detail strip before you continue.

## Deliver the texture in game

The header of a plain model or dictionary edit has a **File** | **In game** switch. It decides how the result reaches the game.

| Mode | What happens |
| - | - |
| **File** | The texture goes out in `stream/` and replaces the game texture. Default. |
| **In game** | `rageon-bridge` swaps the texture while the server runs, by an id you choose. No `stream/` file is written for it. The server needs `rageon-bridge` 2.2.0 or later. |

**1. Click In game**

Rageon checks that the texture can be swapped.

**2. Name the swap and click Confirm**

**Swap id** asks for the id your scripts will use and describes which models the swap reaches.

![Editor header with the In game switch and the Swap id dialog](https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-swap-id.webp?fit=max\&auto=format\&n=TCzaS11pSGz1CPPK\&q=85\&s=a075126f7d521197234e756058747d53)

The File | In game switch and the Swap id dialog.

Export writes `textures.json` and a `textures/<id>/` folder with `art.webp` or animated `frame_*.webp` images and `player.html`. Keep them together in the exported resource.

The card gets a **FiveM** badge. Switch back to **File** to remove the id; **Ctrl+Z** undoes it.

In game, call `exports['rageon-bridge']:applyTexture('<id>')` from a client script or `exports['rageon-bridge']:applyTextureForAll('<id>')` from a server script. The matching `exports['rageon-bridge']:removeTexture('<id>')` and `exports['rageon-bridge']:removeTextureForAll('<id>')` calls restore the original. A swap affects every model that uses the original texture, and two swaps cannot own the same one.

The switch does not appear on liveries, clothing variants, the minimap, tattoos, overlays, palettes, or skins. Skins always go in game.

## Limits and plans

In-game swaps work only on FiveM and need `rageon-bridge` on the server. An older bridge shows a warning in the export dialog. Update it in **Settings** › **Bridge**. Textures per project depend on your plan; see [rageon.dev/pricing](https://rageon.dev/pricing).

## Troubleshooting

> **The edit continues in File. …**
>
> The **In game** request was refused, so the edit stays in **File**. Check the reason shown. A texture embedded in a `.ydd` cannot be swapped in game and must be exported as a file.

> **Could not work out how to swap this texture in game.**
>
> Rageon found no way to address this texture at runtime. Keep the edit in **File**.

> **This id is already in use in this project.**
>
> Choose another swap id. Ids must be unique in the project.

> **Two in-game swaps use ….**
>
> Only one swap can own an original texture. Remove or change one of them.

> **Two in-game edits in this project have the same id (…). Rename one of them before exporting.**
>
> Double-click the name on one of the cards and give it a different id.

> **The … server needs rageon-bridge … or later for in-game swaps.**
>
> Update `rageon-bridge` on the server in **Settings** › **Bridge**, then export again.

> **No textures found**
>
> Nothing matches your filters. Click **Clear filters**.


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