# Naming

GTA V matches clothing files by their **name**, not their contents. The Cloth Tool writes every filename for you at **Build** time using the GTA add-on-collection convention, so you never have to type them. This page explains the scheme so you can read the output and debug it.

:::hint{type="info"}
The tool builds **add-on collections**, not replacements. That's why every filename carries your **collection name** — the game loads your clothes as their own set, alongside the base game, instead of overwriting vanilla clothing.
:::

## Anatomy of a component filename

```
mp_m_freemode_01_koja^jbib_diff_000_a_uni.ytd
└───────┬────────┘└─┬┘ └┬─┘ └┬─┘ └┬┘ └┬┘ └┬┘
   ped model     coll  slot  map  #   var kind
```

* **Model:** `mp_m_freemode_01_koja^jbib_000_u.ydd`
* **Texture:** `mp_m_freemode_01_koja^jbib_diff_000_a_uni.ytd`

| Part                | Example            | Meaning                                                           |
| ------------------- | ------------------ | ----------------------------------------------------------------- |
| **Ped model**       | `mp_m_freemode_01` | Male (`_m_`) or female (`_f_`) freemode ped.                      |
| **Collection**      | `_koja`            | Your add-on collection / dlc name. Present on every file.         |
| `^`                 | `^`                | Separator between the ped+collection and the component.           |
| **Slot token**      | `jbib`             | Which body component (see table).                                 |
| **Map**             | `diff`             | Textures only — the diffuse map marker. Models omit it.           |
| **Drawable number** | `000`              | Three digits, assigned by the tool (see below).                   |
| **Variant letter**  | `a`                | Textures only — `a`, `b`, `c`… the colour/pattern option.         |
| **Kind suffix**     | `_u` / `_uni`      | Component **models** end `_u`; component **textures** end `_uni`. |

## Props are named slightly differently

Props go on a separate prop ped (`_p_` before the collection) and drop the `_u` / `_uni` suffixes:

* **Model:** `mp_m_freemode_01_p_koja^p_head_000.ydd`
* **Texture:** `mp_m_freemode_01_p_koja^p_head_diff_000_a.ytd`

## Slot tokens

**Components**

| Token  | Component          | Token  | Component              |
| ------ | ------------------ | ------ | ---------------------- |
| `head` | Head               | `feet` | Feet / shoes           |
| `berd` | Mask / beard       | `teef` | Teeth                  |
| `hair` | Hair               | `accs` | Accessory / undershirt |
| `uppr` | Torso (arms/upper) | `task` | Task (vests etc.)      |
| `lowr` | Legs               | `decl` | Decals / badges        |
| `hand` | Hands              | `jbib` | Top (over torso)       |

**Prop anchors:** `p_head`, `p_eyes`, `p_ears`, `p_mouth`, `p_lhand`, `p_rhand`, `p_lwrist`, `p_rwrist`, `p_hip`, `p_lfoot`, `p_rfoot`.

## The drawable number is re-assigned at build

The three-digit number in the filename is **not** the "Number" you set in the item editor. At build time the tool sorts each component's items and re-numbers them sequentially from `000`, per component and per gender.

* The **Number** field in the editor only controls **sort order** within a slot.
* So the first top becomes `jbib_000`, the second `jbib_001`, and so on — always a clean, gap-free sequence.

:::hint{type="success"}
You never type any of this. Set the slot, gender and (optionally) order in the item editor, add your texture variants, and the tool writes the exact filenames — plus the `shop.meta` and `.ymt` that make the items selectable — when you **Build**.
:::

## Numbers vs. letters

* The **drawable number** (`000`, `001`…) selects **which garment**.
* The **variant letter** (`a`, `b`…) selects **which texture** on that garment.

So `jbib_diff_003_b` = the top at drawable **3**, wearing texture variant **B**.

## Naming isn't enough on its own

Correct filenames only stream the files. What actually makes them **wearable** is the metadata the tool generates alongside them:

* a **`*_shop.meta`** (`SHOP_PED_APPAREL_META_FILE`) per gender, and
* a **`.ymt`** (`CPedVariationInfo`) that registers each drawable and its texture count.

If a garment streams but never appears in a clothing menu, the metadata — not the filename — is usually the thing to check. See [Common Errors](/cloth-tool/information-and-errors/common-errors).

## Related pages

- [FAQ](/cloth-tool/information-and-errors/faq) — Yes — for the 3D preview.
- [Common Errors](/cloth-tool/information-and-errors/common-errors) — A field guide to the clothing problems you'll actually run into.
- [Limits](/cloth-tool/information-and-errors/limits) — GTA V doesn't warn you when you go over a limit — it just fails to load the clothing, shows the wrong item, or crashes.
- [Information and Errors](/cloth-tool/information-and-errors) — back to the section overview
