Search Issue Tracker

By Design

Votes

0

Found in

5.3.4p6

Issue ID

795524

Regression

Yes

bundle.Unload sometimes doesn't work

Asset Loading

-

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().

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.