Search Issue Tracker
By Design
Votes
0
Found in
5.3.4p6
Issue ID
795524
Regression
Yes
bundle.Unload sometimes doesn't work
To reproduce:
- Open the project and build the AssetBundles (Assets/Build AB)
- Open the Loader scene and change URLs on Loader script
- Press play. Everything works fine.
- Uncomment this line in Loader.cs: bundle.Unload(false);
- Press play and see that everything has been unloaded in the loaded scene.
- Change the call to bundle.Unload(true);
- Press play and see that everything has been unloaded in the loaded scene.
Reproducible: 5.5.0a1, 5.4.0b18, 5.3.5f1
Notes on why this is "Resolved (By Design)":
The root cause in this case is user called AssetBundle.Unload() right after SceneManager.LoadScene() without yield return null.
SceneManager.LoadScene() is not a real synchronous API, it only guarantee to be finished before next frame, users need to call yield return null after it.
Actually, we highly recommend users to use SceneManager.LoadSceneAsync().
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Articulation Body with 'Revolute' Joint Type has erratic behavior when Upper Limit is set to above 360
- WebGL Player fails to render Scene when Terrain with Detail Mesh is added and WebGPU Graphics API is used
- Inconsistent errors are logged when different types are passed into the Query "Q<>" method in UIToolkit and the ancestor VisualElement is null
- Crash on GetMaterialPropertyByIndex when opening a specific Scene
- Discrepancies in the styling are present when using a TSS file instead of a USS file in custom EditorWindow
Add comment