Repacking & Merging YMTs
Quick answer
Repacking rewrites several clothing collections into fewer collections, so the same clothes cost fewer YMT slots. It is the only technique that genuinely increases how much add-on clothing a server can carry — and it has a hard ceiling, because each collection still holds a limited number of drawables per type.
Difficulty: Advanced · Affects: both · Third-party tooling — NOT a Cfx feature
INFO
Search: repack, merge, combine packs, fewer ymt, too many collections, out of slots.
Last verified 31 August 2026 · Cfx forum release thread · docs.gta.clothing.
Why it works
Three packs with male and female clothing cost six slots. If their combined contents fit inside one male and one female collection, the same clothes cost two.
Before: pack_a (m+f) + pack_b (m+f) + pack_c (m+f) = 3 male + 3 female
After: merged_clothing (m+f) = 1 male + 1 femaleYou did not raise any engine limit. You stopped wasting slots on packaging.
Where the ceiling is
A merged collection still obeys the per-type drawable limit: 128 conservatively, or 0–255 on FiveM builds that include the component synchronisation patch. If your three packs contain 300 shirts between them, they will not fit into one collection no matter what tool you use.
| You have | Merging helps? |
|---|---|
| Many small packs, few items each | Yes, dramatically |
| A few packs already near 128 shirts each | Partially — you will still need more than one collection |
| More items of one type than the drawable limit allows | No |
A TxdStore Pool Full crash | No — that is texture dictionaries, not collections |
A corrupt .ydd | No |
Merging reduces collection count. It does nothing for texture count, disk size, or file corruption.
Tooling
The community standard is the Red40 Clothing Repacker, a free .NET tool with a GUI and a CLI, released on the Cfx forum specifically in response to shrinking slot counts. It uses the CodeWalker library to convert collections to XML and back.
What matters operationally:
- It renames stream files in place, so escrowed clothing is supported — you are not decrypting anything.
- It writes a timestamped backup and supports rollback.
--optimize-ymt-usagelets the planner split component lanes across generated collections to reach a lower total. Without it, source packs stay grouped more conservatively.--max-drawables-per-componentdefaults to the conservative value; raise it only if your client and server both carry the component patch.
WARNING
This is third-party software and we do not provide support for it. Back up your clothing resources before running any repacker, and test both genders afterwards on a staging server.
Risks
| Risk | Consequence |
|---|---|
| Global drawable IDs change | Saved outfits point at different clothes. See Clothing IDs |
| Vendor updates break | A repacked pack no longer matches the seller's next update |
| Escrow terms | Repackaging a paid pack may conflict with the seller's license — check first |
| Mixed sources in one collection | Harder to remove a single pack later |
The ID shift is the one that surprises people. Plan a wardrobe reset or an ID migration for your framework before you merge on a live server.
When not to merge
If you are only one or two slots over, moving to a build with more free slots is faster, reversible, and does not touch your files. Compare on the build table first.
