Pack Size vs Engine Limits
Quick answer
"Pack size" means at least nine different things, and only some of them can crash a server. Gigabytes on disk is the one people quote and the one that matters least.
Difficulty: Core concept · Affects: both
INFO
Search: pack size, too big, gb, how large, optimise, heavy pack, disk size.
The nine measurements
| Measurement | What it limits | Crashes a server? |
|---|---|---|
| Disk size (GB) | Download time, storage | No |
| YMT count | Collections per gender | Yes — the most common cause |
| YDD count | Items on disk | No, indirectly |
| YTD count | TxdStore pool | Yes |
| Drawable count per type | What fits in one collection | Yes, at build time |
| Texture resolution | VRAM, streaming, FPS | No, but it hurts |
| Metadata entries | Alternate variations | Yes |
| Resource count | ensure lines, load order | No |
| Escrowed asset size | 1 GB per upload | No — blocks delivery, not the server |
The comparison that explains it
Pack A: 200 MB · 8 male YMTs · 400 YTDs → crashes a modern build
Pack B: 8 GB · 1 male YMT · 120 YTDs → runs finePack B is forty times larger and costs one eighth of the scarce resource. Size in gigabytes tells you almost nothing about whether a pack will run.
Which number to check for which problem
| Problem | Measure this |
|---|---|
| Crash on join or character load | YMT count per gender — count them |
TxdStore Pool Full | YTD count server-wide — TxdStore |
ERR_MEM_MULTI_ALLOC_FREE | Alternate variation entries — alternate variations |
| Build tool refuses to build | Drawables per type — drawable limits |
| Pack will not upload to Portal | Escrowed asset size — escrow limits |
| Low FPS in busy areas | Texture resolution and streaming volume |
Optimising the right thing
Reducing texture resolution is the most common optimisation and it addresses none of the crash causes above. It reduces memory and streaming pressure, which is worthwhile, but a server crashing on YMT slots will keep crashing after you halve every texture.
In order of impact for a server that is at its limits:
- Fewer collections — repack or merge.
- Fewer texture dictionaries — remove duplicates and unused variations.
- Fewer alternate-variation entries, if you run a lot of hair.
- Then resolution and mesh complexity, for performance rather than stability.
