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
- Asset list items fail to load content when scrolling through the List view in Asset Store Search
- Uninitialized variable warning appears in the Inspector of a custom shader when the variable is initialized
- "Failed creating toolbar element from ID..." error is thrown when resetting the Scene view Overlay layout while an Asset Transformer Toolbox overlay is active
- Entity ID for Font Assets is serialized twice which throws an error when using Debug Inspector
- Play Mode can be entered when disabling Adaptive Performance and pressing either the Play Mode button or the keyboard shortcut to enter Play Mode before recompilation leading to errors and warnings thrown
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.