Optimize Texture dictionaries
Texture-only optimization - point this at a standalone .ytd or a full resource zip and we re-encode every .dds layer against a category-appropriate cap, dropping nothing the .ydr actually references.
Start here
Run Optimize Texture dictionaries on a copy of your source files
PulseConvert → Optimize
Open the workflow: PulseConvert → Optimize. If the tool is locked, check its access notice instead of assuming it is available to your account.
Prepare the exact kind of input listed for this feature: Bring an existing resource or compatible asset for texture dictionaries optimization. Keep an unchanged backup and ensure you have permission to reuse the assets.
Open the tool page and provide the requested source files and any displayed options. Check that the detected file types match the input requirement; do not replace unrelated files just to make an upload succeed.
Review the resulting files or job details. Expected outcome: Never deletes a .dds that an .ydr references - only prunes orphan layers that no model in the archive pulls. The output is byte-identical to the input structurally on disk, just slimmer.
Compare the result with your original in a local editor. For resources that load in FiveM, start with an isolated test server; inspect the first client/server console error and test the asset in game before installing it for players.
Practical example
Drop a bare .ytd (not wrapped in a resource) and we hand back the same .ytd with every layer downscaled - no fxmanifest needed, just plonk it back in your stream folder. Keep the original file beside the result so you can compare what changed.
Before you begin
- Bring an existing resource or compatible asset for texture dictionaries optimization.
- Keep the untouched original, especially when downscaling textures.
- Sign in if prompted to submit the optimization job.
Overview of the setup
Prepare and select
Open Optimize and choose Texture dictionaries. Keep the original available to compare size and appearance.
Apply optimization
Texture-only optimization - point this at a standalone .ytd or a full resource zip and we re-encode every .dds layer against a category-appropriate cap, dropping nothing the .ydr actually references. Select options appropriate to the target FiveM resource.
Compare and test
Read the optimization report, compare texture quality and file sizes, then validate the resource in a test server before replacing a live resource.
Features explained
What each feature does and what to check before publishing or installing the result.
Stand-alone .ytd input
Drop a bare .ytd (not wrapped in a resource) and we hand back the same .ytd with every layer downscaled - no fxmanifest needed, just plonk it back in your stream folder.
Full resource re-pack
Drop a complete resource zip and we walk every .ytd referenced by an .fts/.ydr/etc, recompress layers in place, and re-bundle with the same fxmanifest.
Reference-aware
Never deletes a .dds that an .ydr references - only prunes orphan layers that no model in the archive pulls. The output is byte-identical to the input structurally on disk, just slimmer.
If it still does not work
- If the tool rejects the input, compare your file extension and the files inside the archive to the input requirement above. Source files inside nested folders may need extra review.
- If the tool reports success but the result does not function, do not assume the file is compatible: inspect warnings, actual output names and their references, manifest files, and version compatibility.
- Review warnings and test the output before putting it on a live FiveM server.
Troubleshooting and safety checks
- An output remains oversized? Review the remaining file warnings rather than assuming every texture can be compressed indefinitely.
- Unexpected visuals or missing textures? Restore from the original and compare referenced dictionaries, material mappings and generated file paths.