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
- Texture Import Warnings are obscured by other Terrain Layer options in the Inspector
- Burst Inspector middle divider is jittering when resized with the Burst Inspector window docked
- JsonConvert conversion fails trying to call GetCallbackMethodsForType when [OnDeserialized] is used in a class
- Different text alignment in the column header in Entities "System" window
- Objects with Universal Render Pipeline/Particles/Lit shader are always lit up when changing their Rendering Layer Mask
Add comment