[Addressables] Fix High PersistentManager.Remapper RAM Bloat
Solution
Unity 2021.3.x - Unity 6.3.x
Published 15 days ago
High RAM usage by the PersistentManager.Remapper—reported around 270 MB—is a concern when aiming for total RAM usage below 2 GB. Traditional optimization methods for other Unity objects like textures or shaders are not applicable, and the impact of your addressable assets schema settings on remapper memory is often unclear.
The remapper memory footprint scales with the total number of managed objects and AssetBundles, and it may not shrink efficiently after loading peak.
The remapper is part of the Unity PersistentManager that tracks object references across scenes and bundles. In Addressables, its size scales with the total number of entries in your addressables catalog and the metadata fragmentation of your AssetBundles. To optimize this, you must reduce the granular tracking of assets.
- Consolidate small
Addressable Groupsinto fewer, larger bundles to reduce the total count ofAssetBundlesgenerated, as each bundle header adds to the remapper overhead. - Address folders or your collections rather than individual files to significantly decrease the number of metadata entries in the remapper table.
- Execute the Check Duplicate Dependencies rule in the
AddressablesAnalyze window to identify and remove redundant metadata. - Enable Catalog Compression in your
AddressableAssetSettingsto minimize the runtime memory footprint of your addressable assets catalog.
Additional Tips
- Use the
Memory Profilerpackage to inspect the Other category, where remapper allocations are typically categorized, to track how the remapper reacts to different loading patterns. - Be aware that the remapper may not immediately decommit memory back to the OS after assets are released; this is often intended behavior by the underlying allocator to prevent fragmented re-allocations.
Related Posts Haven't quite found a solution to your problem? We think these posts might help you.
Content inspired by a Unity discussion post.