# Validation

Before a build, the pack is checked against a list of rules. Each item in the list carries a status dot, so a problem is visible where the item is rather than buried in a log after a failed build.

The checks are **saved in the project**, so everyone on a team is held to the same standard.

## Severity

Every rule sits at one of four levels:

| Level | Effect |
| --- | --- |
| **off** | Not checked at all. |
| **info** | Noted, nothing more. |
| **warning** | Flagged, the build still runs. |
| **error** | Blocks the build. |

Raise a rule to **error** to make it stop a build; drop it to **off** if it does not apply to how you work. The panel tells you how many checks differ from their defaults, so a project with unusual settings never looks like a stock one.

## Thresholds

These are numbers rather than on/off, under **Pre-build checks**.

| Setting | What it governs |
| --- | --- |
| **Largest model** | Per file, not per pack — one heavy `.ydd` stalls streaming even inside a pack that is otherwise fine. |
| **Largest texture** | Anything bigger is reported as oversized. |
| **Smallest texture** | Below this a garment texture is almost always a placeholder. `0` turns it off. |
| **Longest name** | Past this the game's own naming starts to truncate. |
| **Textures per item** | The game addresses variants by letter, a–z, so **26** is the format's own ceiling. |
| **Size limit** | Total pack size that blocks the build. `0` turns it off. |
| **Size warning** | Total pack size that earns a warning. `0` turns it off. |
| **Require power-of-two textures** | The game needs them. Turn off only if you know your loader tolerates otherwise. |

## The rules

### Files that are not there, or are not what they claim

| Rule | What it catches |
| --- | --- |
| The model file is gone from disk | The `.ydd` a item points at no longer exists. |
| A texture file is gone from disk | Same, for a texture source. |
| A texture variant with no file behind it | A placeholder that was never filled in. |
| A file is not really a game asset | Empty (0 bytes), a Git LFS pointer rather than the real file, or missing the `RSC7` header that marks a compiled game file. |
| A file is the wrong type for its field | The build copies it as-is and the game will not read it. |
| A raw image is linked where a `.ytd` must go | |
| The project has nothing to build | A build would produce an empty pack. |

### Names and slots

| Rule | What it catches |
| --- | --- |
| Item name is empty | |
| Item name is longer than the limit | |
| Name will be changed to be file-safe | The tool tells you what it will become. |
| The name says one component, the slot says another | It builds as the slot, not as the name. |
| Item gender is neither Male nor Female | |
| The model is rigged for the other ped | The name or model says one gender, the item is set to the other. |
| A paired item's toggles disagree | One gender has a flag enabled that its counterpart does not. |

### Duplicates

| Rule | What it catches |
| --- | --- |
| Two items claim one drawable number | Names the items that collide. |
| Two items in one slot share a name | |
| Two variants share one letter | Only one will load. |
| One item ships the same texture twice | They will be identical in game. |
| Two items ship the same model twice | Tells you roughly how much of the pack is the same geometry repeated. |
| Authored letters are not the letters that ship | The build assigns letters by position — a, b, c — so an out-of-order list does not ship as written. |

### Textures

| Rule | What it catches |
| --- | --- |
| Texture dimensions are not powers of two | |
| Texture is larger than the limit | |
| Texture is small enough to be a placeholder | |
| One item's variants are different sizes | |
| Item has no textures | |
| More texture variants than the format allows | 26 is the ceiling. |

### Cloth and hair

| Rule | What it catches |
| --- | --- |
| A `.yld` is set but cloth physics is off | The file ships and does nothing. |
| Cloth physics on, but no `.yld` set | |
| The cloth physics file is gone | |
| Cloth physics on a prop | Props do not support it; the setting and the `.yld` are dropped from the build. |
| Hair with no cut-down alternate | Masks and hoods will never flatten it. |
| The hair alternate file is gone | |
| Hair alternate set on a non-hair item | It is ignored. |
| A mask that does not hide hair | Hair will clip through it. |
| Hair-hiding set on something that cannot hide hair | Only `berd` (mask) components can. |

### Fit and size

| Rule | What it catches |
| --- | --- |
| High-heel offset outside the feet slot | It raises the whole ped whenever the item is worn. |
| A single model is over the per-file limit | Meshes this size cause pop-in and streaming stalls. |
| The pack is over its size budget | Warning and hard limit are separate settings. |
| A slot is over one collection's limit | The build splits it across more collections. |

## Reading the findings

When many items share a problem, it is collapsed into one line with a count and a few examples rather than repeated forty times.

A finding names the file or the texture it is about, so you can go straight to it.

## Related

- [Building](/cloth-tool/about-the-tool/building) — what happens after the checks pass.
- [Limits](/cloth-tool/information-and-errors/limits) — the format's own ceilings, which no setting can raise.
- [Naming](/cloth-tool/information-and-errors/naming) — the conventions several of these rules enforce.
- [Common Errors](/cloth-tool/information-and-errors/common-errors) — what to do when a build is blocked.

## Related pages

- [3D Preview](/cloth-tool/about-the-tool/3d-preview) — The centre panel renders your garment on an actual mpmfreemode01 / mpffreemode01 ped, with your real .ytd textures applied.
- [Building](/cloth-tool/about-the-tool/building) — When your project is ready, hit Build and choose the FiveM target.
- [Importing](/cloth-tool/about-the-tool/importing) — Select an item and click Import .ydd / .ytd (or right‑click an item → import).
- [Interface](/cloth-tool/about-the-tool/interface) — The main window is split into three panels.
- [Items and Textures](/cloth-tool/about-the-tool/items-and-textures) — An item is one garment or prop.
- [Texture Optimization](/cloth-tool/about-the-tool/texture-optimization) — Hand-made clothing packs are usually bloated and full of textures the game doesn't like — odd sizes, no mipmaps, wrong compression.
- [About the Tool](/cloth-tool/about-the-tool) — back to the section overview
