Search Issue Tracker
Fixed
Votes
1
Found in [Package]
1.24.0
2.4.3
Issue ID
ADDR-3962
Regression
No
Bundles are not unloaded when unloading addressable Scenes
Reproduction steps:
1. Open the attached project "ReproProj"
2. Open “File > Build Profiles”
3. Enable Development Build, Autoconnect Profiler, and Deep Profiling Support
4. In the Scenes List, make sure “Scenes/StartScene“ is selected
5. Build And Run
6. In Player, press the “Space“ key
7. Open Window > Analysis > Memory Profiler
8. Make sure Memory Profiler is connected to Player
9. Capture a snapshot
10. In Player, press the “Space” key twice
11. Repeat step 9
12. Compare the snapshots
Expected result: Memory usage is the same
Actual result: Memory usage is higher in the 2nd snapshot by 15.2 MB
Reproducible with: 1.24.0 (2022.3.61f1), 2.4.6 (6000.0.47f1, 6000.1.1f1, 6000.2.0a9)
Reproducible on:
Windows Standalone Player (15.2 MB difference)
Play Mode (4.5 MB difference)
Testing environment: Windows 10 Enterprise 21H2
Not reproducible on: No other environment tested
Notes:
- String values for bundle locations remain in memory when unloading or after garbage collections
- References to SampleSceneB are still retained
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
Resolution Note:
This was investigated and the only thing that seems to be staying in memory are some strings from the addressables catalog - this is actually by design as there are internal caches that can keep some things in memory until that memory is needed. The catalog is expanded on demand and the expanded entries will stay in memory until other entries are loaded and need that space.