> For the complete documentation index, see [llms.txt](https://docs.gta.clothing/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.gta.clothing/game-mechanics/game-limits-and-crashes.md).

# Game Limits and Crashes

Learn about GTA V's clothing and tattoo related game limits and crashes

## GTA V Game Engine limits

GTA V has a build-dependent capacity for freemode clothing definitions. The practical guidance below is tracked **per gender** and comes from observed remaining clothing slots on each game build. It is not a universal limit for every kind of `.ymt` file, and other loaded clothing resources consume the same capacity.

Additionally there is a limit of components/props that can be added per drawable/component type.

## Component / Prop Related Limits

Clothes are categorized into **components** and **props**, where components are everything you wear as clothes (Shirts, Pants, Shoes etc) and props are everything you can put on top of your model (like hats, glasses, watches, ear rings etc.)

{% hint style="info" %}
Internally we call all these types together **drawable types**, the game currently has 25 drawable types in total. Some of them are unused tho.
{% endhint %}

### 128 legacy synchronization range per type and gender

Durty Cloth Tool uses **128 cloth items per drawable type and gender** as legacy compatibility guidance. When **FiveM Resource** is selected, DCT automatically accounts for FiveM's patched component range and suppresses the obsolete 128 warning for components. FiveM props retain the 128 synchronization advisory because the component patch does not cover prop synchronization.

> For example, you can have 128 cloth items of type PV\_COMP\_JBIB (Component id 11 / Shirts) for your male in one addon cloth resource. With 26 variations per cloth item, this would be 128 \* 26 = 3.328 shirt variations. Going beyond 128 requires matching runtime support and careful testing.

{% hint style="info" %}
The legacy 128 synchronization boundary does not apply to Singleplayer in the same way. Other file, loading and Durty Cloth Tool limits still apply and should not simply be ignored.
{% endhint %}

{% hint style="success" %}
FiveM builds that include this [component synchronization update](https://github.com/citizenfx/fivem/commit/f5e0a4b467fb0dfde2fc89e73d09059c4b2e2330) can synchronize component IDs `0` through `255`. Both the client and server must include the update. This applies to the synchronized component ID, not the number of usable items in one collection, and it does not remove other YMT or build limits.
{% endhint %}

{% hint style="success" %}
Select **FiveM Resource** in DCT to make the add and build checks use this patched component range. DCT applies the correct validation policy, but it does not install or verify the patch in your client or server artifacts.
{% endhint %}

### 255 usable drawables per collection type and gender

A generated YMT can represent local drawable indices `0` through `255`, but the number of drawables reported for one component is read through a byte on FiveM's collection-native path. A collection containing 256 drawables therefore reports a count of zero, and collection-based natives cannot apply any of that component's items.

Durty Cloth Tool's automatic splitting keeps a collection at **255 usable drawables** of one type and gender, then starts another collection. A drawable type can address 256 items per gender at most, indices `0` through `255`, which is what the generated ped definition can reach. If automatic splitting is disabled, DCT can still emit the 256th item because index `255` is representable, but it first warns that the resulting collection is unusable and asks for explicit confirmation. The 8-bit synchronization patch does not change this separate count boundary.

### 26 texture variations per cloth drawable

One cloth drawable can carry **26 texture variations**, the letters `a` through `z` in the generated file names. Durty Cloth Tool treats a drawable with more than 26 variations as an error, and every way of attaching a texture respects the limit.

### 255 props per collection and gender

Separately from the global prop index described below, the generated clothing definition reports the number of props for one gender through a single byte. A collection therefore carries at most **255 props per gender**. Automatic splitting starts another collection before that count is reached.

### 255 global prop index boundary

Older runtimes store parts of the **global prop index** in 8 bits. Because base-game and DLC props also use those indices, addon props beyond the global 255 boundary may fail to appear. This is not a limit of 255 items inside one custom collection.

{% hint style="info" %}
Use a FiveM version that includes the prop-index patch. Singleplayer requires a separate limit adjuster, described below.
{% endhint %}

{% hint style="warning" %}
On an unpatched runtime this will usually not cause a crash; props at affected global indices can instead appear invisible.
{% endhint %}

{% hint style="success" %}
FiveM patched the affected 8-bit global prop-index paths ([#](https://github.com/citizenfx/fivem/pull/2421)). This fixes props becoming invisible at the old boundary, but does not make the overall streamed-prop capacity unlimited.
{% endhint %}

#### **Bypassing the prop limits for Singleplayer**

GTA5Mods users Zombieguy and William Halverd have made an ASI version of the FiveM patch for Singleplayer. It removes the affected 8-bit prop-index truncation. Treat it as a fix for invisible props past the old boundary, not as unlimited prop capacity.

> This patch was tested on the game build 3095 Chop Shop Update and it will work at least the older game build / version 2372 (Los Santos Tuners).

To install it, simply drag and drop into the root folder of GTA V. You will need the latest ASI loader and [ScriptHookV](https://dev-c.com/gtav/scripthookv/) for it to work as intended.

**Download the ASI file here:** <https://www.gta5-mods.com/scripts/pedprop-limit-adjuster> (Credits: Zombieguy and FiveM team)

### High heels at global component indices above 255

High-heel height is stored in component expression metadata. Older lookup paths could truncate the **global component index** used to find that expression data. This was an index-resolution issue, not a documented limit of 255 high-heel configurations.

{% hint style="warning" %}
On an affected unpatched path, items beyond the truncated global component index may have no working high-heel effect.
{% endhint %}

{% hint style="success" %}
The affected component-expression lookup was patched on FiveM ([#](https://github.com/citizenfx/fivem/pull/2579)). This fixes the old high-heel lookup boundary, but does not make the overall clothing capacity unlimited.
{% endhint %}

*For FiveM targets, Durty Cloth Tool accounts for the patched global prop and high-heel lookup paths automatically. The collection/file-format limits still apply. Always test the complete resource set on the GTA V and multiplayer build you use.*

## YMT Limit in detail

YMT limit **applies to each gender seperately**.

{% hint style="info" %}
For example, if we talk about 10 additional free .ymt slots available, it means you have 10 .ymt slots for female and 10 .ymt slots for male ped.
{% endhint %}

### Where the limit comes from

A ped archetype can only carry so many **streaming dependencies**. That budget holds the prop and component dictionaries, every attached clothing definition, every creature metadata file, the cloth file and the clip-set dependencies. A dependency beyond it is dropped without a word in a shipping build, and the variation setup of the ped then reads the slot of a definition that never loaded.

The budget appears to have been raised once, around game build 2612, which is why the free slots below jump at that point rather than continuing to shrink.

{% hint style="info" %}
The per build numbers are what matters in practice, and they are **measured**, not calculated from the budget. The fixed entries a ped already carries are not clothing YMTs, so knowing the budget on its own would not tell you how much room is left. Treat them as dated field observation, and remember that other loaded clothing resources consume the same capacity.
{% endhint %}

Lets take a look at **how Rockstar Games takes up the free .ymt slots every update**:

* In game version **b1604** (mpchristmas2018) we had **14 additional free .ymt slots to be used**
* In game version **b1737** (mpvinewood) we had **12 additional free .ymt slots to be used**
* In game version **b1868** (mpheist3) we had **10 additional free .ymt slots to be used**
* In game version **b2060** (mpsum) we had **8 additional free .ymt slots to be used**
* In game version **b2189** (mpheist4) we had **6 additional free .ymt slots to be used**
* In game version **b2372** (mptuner) we had **4 additional free .ymt slots to be used**
* In game version **b2545** (mpsecurity) we have **2 additional free .ymt slots to be used**
* In game version **b2612** (mpg9ec), R\* seems to have increased the YMT limit, we have **about 20 additional free .ymt slots to be used**
* In game version **b2699** (mpsum2), we have **about 16 additional free .ymt slots to be used**
* In game version **b2802/b2824/b2845** (mpchristmas3), we have **about 14 additional free .ymt slots to be used**
* In game version **b2944** (mp2023\_01), we have **about 12 additional free .ymt slots to be used**
* In game version **b3095** (mp2023\_02), we have **about 10 additional free .ymt slots to be used**
* In game version **b3258** (mp2024\_01), we have **about 8 additional free .ymt slots to be used**
* In game version **b3407** (mp2024\_02), we have **about 6 additional free .ymt slots to be used**
* In game version **b3570** (mp2025\_01), we have **about 5 additional free .ymt slots to be used**
* In game version **b3717** (mp2025\_02), we have **about 4 additional free .ymt slots to be used**
* In game version **b3889** (mp2026\_01), we have **about 3 additional free .ymt slots to be used**

{% hint style="info" %}
Cfx server command documentation has displayed **3751** for the same release that verified game data and public runtime discussion identify as **3717**. Durty Cloth Tool uses the verified 3717 title build, so if you saw 3751 elsewhere, both refer to `mp2025_02`, A Safehouse In The Hills.
{% endhint %}

### creaturemetadata YMT files

Please note that adding high heels or head-prop hair expression modifiers to your pack can create an additional YMT file known as `creaturemetadata`, which counts towards the game-build YMT capacity. For example, gamebuild **b3095** (mp2023\_02) has ***about*** 10 additional free .ymt slots.

A pack with male and female clothing plus female high heels normally creates three YMT files: male clothing, female clothing, and the shared creature metadata file.

When FiveM is selected, DCT compares the YMT slots used by the current project, separately for male and female, with the selected-build guidance. The build overview shows the gross generated slots, known slots reused by replacement packs, and the net additional slots. A known-DLC replacement receives credit only when that DLC exists in the selected game build; base-game replacement also receives credit. Manual replacement identities and shared creature metadata receive no credit. DCT conservatively budgets the shared creature metadata file against both genders, although it is generated only once. Current guidance includes about 5 free slots on b3570, 4 on b3717, and 3 on b3889. For FiveM Legacy, the optional server-resources assessment can estimate readable clothing definitions in a configured folder, but it cannot prove the exact set loaded for one client. Server owners must still budget and test the complete deployed resource set.

```markdown
mp_m_freemode_01_mp_m_yourpack.ymt
mp_f_freemode_01_mp_f_yourpack.ymt
mp_creaturemetadata_yourpack.ymt
```

{% hint style="warning" %}
If a resource contains only **Remove Hairs** or only **Custom Cut Hairs** head props, verify that the built resource contains `mp_creaturemetadata_<collection>.ymt`. Without it, the hair modifier will not work.
{% endhint %}

### Effects of reaching the YMT limit

Exceeding the observed additional clothing-definition slots for one gender can cause crashes, missing content, or other inconsistent behavior. Treat the table as build-specific guidance and test the complete set of resources loaded by the server.

Observed **FiveM** crash examples include:

![Example GTA V game crash when hitting the games cloth related YMT limit](https://i.imgur.com/zRSs2zX.png)

* b1604: `oven-happy-sad` || GTA5.exe!sub\_1406B14FC (0xf)
* b2189: `earth-august-saturn` || FiveM\_b2189\_GTAProcess.exe!sub\_1406D21B0 (0xf)
* b2372: `yellow-stairway-december` || FiveM\_b2372\_GTAProcess.exe!sub\_14070E7A8 (0xf)
* b2545: `zebra-east-berlin` || GTA5\_b2545.exe!sub\_140712C8C (0xf)
* b2944: `low-cola-sweet` || GTA5\_b2944.exe!sub\_14071C644 (0xf)
* b3095: `iowa-beryllium-missouri` || GTA5\_b3095.exe!sub\_140722454 (0xf)

While you will be receiving errors in the console similar to:

<figure><img src="https://i.imgur.com/zN3AfEC.png" alt=""><figcaption></figcaption></figure>

```log
InvokeNative: execution failed: Error executing native 0x00a1cadd00108836 at address 0x1407a0b54.
SCRIPT ERROR: Execution of native 00a1cadd00108836 in script host failed: Error executing native 0x00a1cadd00108836 at address 0x1407a0b54.
```

### Why not put all clothes in one big .ymt file

Durty Cloth Tool uses **128 (0-127) cloth items per drawable type and gender** as its conservative legacy compatibility range. Drawable types are jbib, feet, teef etc. - each type representing model parts like pants, shirts, hats. FiveM component builds use the patched synchronization range when FiveM is selected. FiveM props and other targets retain the legacy advisory. Automatic splitting starts another collection after 255 usable items of one type and gender.

When this compatibility range is reached, create a new .ymt file if you need to stay within 128 items per drawable type and gender.

### How to prevent YMT amount related issues

The most simple way to avoid these issues is to keep your addon cloth packs to a minimum and count YMT files separately for each gender. The available slots depend on the game build and other loaded resources.

You will always need to keep in mind that every cloth collection created for one gender will create one .ymt file. High heels and head-prop hair expression modifiers can additionally create one shared `creaturemetadata.ymt` file.

#### Examples

Lets say we run some multiplayer mod with the GTA Online Update `mptuner`, which has **about 4 free YMT slots per gender**.

We create one basic addon cloth pack with female and male clothes, without high heels or head-prop hair modifiers. It creates one female and one male clothing YMT, using one slot for each gender.

{% hint style="info" %}
High heels and head-prop hair expression modifiers can generate an additional creature metadata YMT that must also be included in the resource budget.
{% endhint %}

Another example would be creating two basic addon cloth packs, each having male and female clothes without those features. This creates two male and two female clothing YMTs, using two of the four slots for each gender before accounting for other resources.

{% hint style="info" %}
Each of our basic addon cloth pack / resource will take up 2 YMTs (1x male clothes, 1x female clothes)
{% endhint %}

Lets do another one with one advanced addon cloth pack. A pack containing female and male clothes plus high heels or head-prop hair modifiers creates the two clothing YMTs and a shared creature metadata YMT. Count all generated files and test the complete resource set on the selected build.

{% hint style="info" %}
High heels and head-prop hair expression modifiers can add the creature metadata YMT needed to make those features work.
{% endhint %}

## `TxdStore Pool Full, Size == 95500` error

Adding more YTD files than a certain limit by either putting new vehicles, new clothes, new MLOs or similar on your server, will possibly cause a **game pool full** error, which essentially means that you have hit the total amounts of YTD files supported by the game.

> This error was previously known as `pool full size == 85500`

Observed **FiveM** crash examples include:

![GTA V Texture pool full game crash](https://i.imgur.com/nnQ12vb.png)

{% hint style="warning" %}
The direct way to reduce TxdStore use is to load fewer texture dictionaries. Remove unneeded resources or, where the content format and ownership allow it, deliberately combine textures into fewer YTDs and update every reference. Re-encoding a large YTD to fewer bytes can improve download and memory use, but it does **not** remove that YTD's TxdStore entry.
{% endhint %}

{% hint style="info" %}
FiveM supports a validated startup-only pool increase through `increase_pool_size`. The allowed pools and maximum increases are supplied to the server and client and can change independently of this page. Use only a value accepted by both sides, and expect the client to restart when it first joins a server with different pool settings. See the [FiveM Server Commands documentation](https://docs.fivem.net/docs/server-manual/server-commands/#increase_pool_size-poolname-increase).
{% endhint %}

## FiveM streamed-asset registration limits

TxdStore is separate from FiveM's raw-streamer registration budgets. A FiveM Legacy client can register up to **65,535 streamed assets** in the texture-dictionary raw streamer and another **65,535** in the default raw streamer used by other GTA stream formats. These budgets are shared by every resource loaded for the client. Splitting one clothing project into more FiveM resources does not increase either budget.

Durty Cloth Tool can estimate the generated build together with the resources under a configured server-resources folder. The scan is conservative: it cannot prove which resources `server.cfg` starts, what conditional scripts load, or what is already present in a client's cache. Treat a clean assessment as guidance, then test the complete deployed resource set. This assessment currently applies to **FiveM Legacy**, not FiveM Enhanced.

### Large individual streamed assets

FiveM's server reports an asset when its declared physical or virtual streaming memory is above **16 MiB**, changes the warning presentation above **32 MiB** and **64 MiB**, and adds the prominent oversized-asset warning above **48 MiB**. These are warning tiers, not resource-folder size caps, and raw file length is not the same as declared streaming memory.

## Shop metadata entry limit

Every clothing pack ships a **shop meta** (`mp_m_freemode_01_mp_m_yourpack_shop.meta`) that lists its items so the game can find them by name. GTA V keeps the entries of **every loaded shop meta together in one list**, its own DLC packs first and then every clothing resource on the server. That list holds **65,520 entries**. The entry that goes past it corrupts the list, and clients can die while loading whichever clothing resource happened to cross the line:

```
An exception occurred (c0000005 at 0x...) during loading of
resources:/yourpack/mp_m_freemode_01_mp_m_yourpack_shop.meta
in data file mounter 0000000141ade678. The game will be terminated.
```

{% hint style="danger" %}
**The resource named in the crash is usually not the broken one.** It is simply the pack that was loading when the total ran out. Removing items from any other clothing resource fixes the same crash, which is why this one is so often chased in the wrong place.
{% endhint %}

Durty Cloth Tool writes **one entry per item and texture variation**, the same way Rockstar does. A pack with 500 items of 8 variations each is 4,000 entries.

### How much room is actually left

The base game spends most of the list before your first pack is loaded, and every GTA: Online DLC adds more:

| Game build              | Used by the base game | Left for all clothing resources together |
| ----------------------- | --------------------- | ---------------------------------------- |
| b1604 (mpchristmas2018) | 20,968                | 44,552                                   |
| b2060 (mpsum)           | 25,358                | 40,162                                   |
| b2189 (mpheist4)        | 26,758                | 38,762                                   |
| b2372 (mptuner)         | 27,643                | 37,877                                   |
| b2545 (mpsecurity)      | 28,834                | 36,686                                   |
| b2612 (mpg9ec)          | 29,022                | 36,498                                   |
| b2699 (mpsum2)          | 30,090                | 35,430                                   |
| b2802 (mpchristmas3)    | 32,215                | 33,305                                   |
| b2944 (mp2023\_01)      | 33,462                | 32,058                                   |
| b3095 (mp2023\_02)      | 34,453                | 31,067                                   |
| b3258 (mp2024\_01)      | 35,156                | 30,364                                   |
| b3407 (mp2024\_02)      | 35,870                | 29,650                                   |
| b3570 (mp2025\_01)      | 36,063                | 29,457                                   |
| b3717 (mp2025\_02)      | 36,232                | 29,288                                   |
| b3889 (mp2026\_01)      | 36,436                | 29,084                                   |

Measured on 2026-09-02 from a GTA V Legacy installation. The remaining room is shared by **every** clothing resource a server loads, so a large pack can use most of it on its own. Building one project into several resources does not help here: the list is global to the client.

### What to do about it

1. **Count what your server actually loads.** Add up the `<Item>` entries of every `_shop.meta` of every clothing resource, then compare with the table above.
2. **List fewer items.** In DCT's build options, **Shop metadata entries** can be reduced to *Only items with shop data* or to *No items*. The clothes still stream and can be worn; only looking them up by shop name stops working, which clothing shop scripts use.
3. **Ship fewer items or variations.** Unused colour variations cost an entry each.
4. **Do not count on a client patch.** FiveM has an opt-in fix for a larger list ([PR #4061](https://github.com/citizenfx/fivem/pull/4061), convar `game_enableExtendedApparelShopLimit`). It is not merged and off by default, so a normal player's client still has the old limit.

{% hint style="success" %}
Durty Cloth Tool counts the entries your build writes and reports them against the selected game build before it builds. It warns once your project alone takes half of the remaining room, and asks for confirmation before building a project that does not fit at all. The optional server-resources assessment adds up the shop entries of the other resources in your configured server folder.
{% endhint %}

{% hint style="info" %}
Items marked as **dummy** are no longer listed in the shop meta, because no model or texture is written for them and nothing can wear them. Older Durty Cloth Tool versions listed them and spent entries on them.
{% endhint %}

### Starting a clothing resource while players are connected

Loading a shop meta attaches the pack's clothing definition and creature metadata to the freemode ped, and the game only does that while that ped model is **not** already in memory. Starting or restarting a clothing resource on a running server therefore appears to do nothing for players who are already connected: they have to reconnect before the pack shows up. This is normal engine behaviour and not a sign that the pack is broken.

## RAGE Error: ERR\_MEM\_MULTI\_ALLOC\_FREE

### **What is ERR\_MEM\_MULTI\_ALLOC\_FREE?**

This error can be related to the **Ped Alternate Variations** feature (`pedalternatevariations.meta`). This feature defines alternative models for clothing or hairstyles to prevent visual glitches when certain clothing items, like large masks or hoodies, are worn. The capacity is 128 results before GTA V build b2189, 160 from b2189 onward, and 512 on FiveM builds that include the related limit fix.

{% hint style="warning" %}
**This error is not only caused by GTA V clothing related things.** A lot of other stuff can also cause this but recently it seems like we are hitting this more often in scenarios related to clothing. Keep this in mind as anything written below might only be a possible cause and solution.
{% endhint %}

### **Possible Cause of the Error**

On an affected legacy build, exceeding the alternate-variation working capacity can cause this error. For example, this can happen when many addon hairstyles or clothing items use the Ped Alternate Variations system. The capacity is build/runtime-dependent and the same crash name can have unrelated causes.

* For instance, on a legacy 160-entry path, 81 existing hairstyles plus 79 custom hairstyles can fill the working set required by a large mask that alters every hairstyle.

### **How to Fix when caused by Alternate Variations Limit**

1. **Temporary Workaround**: You can delete the `pedalternatevariations.meta` file and its reference in the `fxmanifest` file. Keep in mind that this will disable some features, such as removing or cutting hair with large masks or hoods.
2. **Reduced DCT output**: Durty Cloth Tool includes an option called "Disable extra alternate variation features," which generates fewer entries. This can help on legacy paths, although some features like hair cutting with masks might not work as intended.

### **Long-Term Solution for Alternate Variations Limit**

Use a FiveM client build that includes the **512** alternate-variation fix. If the crash still occurs, report it on the [FiveM GitHub](https://github.com/citizenfx/fivem/issues/2760) with the client/server build, crash dump and a resource that reproduces the problem.

When FiveM is selected as the DCT target, DCT includes the complete supported Rockstar hair references and rejects generated metadata when more than 512 switches from the generated project match the same source lookup. For FiveM Legacy, the optional server-resources assessment can also estimate matching entries in the configured resources tree. It remains a conservative on-disk estimate, not proof of the exact active client set.

{% hint style="info" %}
The 512-entry cache capacity was merged in [PR #3190](https://github.com/citizenfx/fivem/pull/3190). [PR #3195](https://github.com/citizenfx/fivem/pull/3195) added the related bounds guard. The same `ERR_MEM_MULTI_ALLOC_FREE` crash can also have unrelated causes.
{% endhint %}

## Tattoo related game limits

Durty Cloth Tool does not apply a separate tattoo-count cap. Tattoos still consume the shared texture-dictionary and streamed-asset capacities below:

* **TxdStore Pool Size as tattoos are YTD based:** [#txdstore-pool-full-size-95500-error](#txdstore-pool-full-size-95500-error "mention")
* **Imported YTD size:** Durty Cloth Tool rejects imported YTD files that are 100 MiB (104,857,600 bytes) or larger.
* **Generated tattoo files:** Durty Cloth Tool creates one YTD per tattoo instead of placing every tattoo texture in one large YTD.

{% hint style="info" %}
Durty Cloth Tool performs its normal tattoo texture optimization during the build. Optimize unusually large source textures if the resource still consumes too much texture memory.
{% endhint %}

## Replacing vanilla / R\* clothes

If addon clothing would consume more YMT slots than the selected game build has available, replacing an existing Rockstar clothing collection can reuse that collection's clothing-definition slot. This is a complete collection replacement, not extra addon capacity.

Durty Cloth Tool supports this through **Pack replacements (advanced)** in the Build Project window. Every generated pack can remain an addon or replace a known GTA DLC, base-game clothing, or a manually named clothing resource. It replaces the complete selected clothing collection, not one individual model or texture. Replacing a collection can remove original items and shift later global drawable IDs, so addon clothing remains the safer default.

> **Pleb Masters: Forge** is a useful tool to **figure out texture & model file paths of clothes** you want to replace, as you will need the file names and collection names for replacing them. See <https://forge.plebmasters.de/clothes/>

<figure><img src="https://i.imgur.com/01P6nHY.png" alt=""><figcaption><p>Pleb Masters: Forge Cloth details with file paths</p></figcaption></figure>

## Credits

Thanks to `FumaPraQue` for his contribution to researching this over at the FiveM forums: <https://forum.cfx.re/t/setplayermodel-crash-when-you-have-too-much-ymts-assigned-to-a-freemode-ped-model/1934063>
