Search Issue Tracker
Won't Fix
Votes
1
Found in [Package]
1.1.10, 1.6.0
Issue ID
1211833
Regression
No
[Addressables] UnloadSceneAsync does not unload the scene when it is still loading
How to reproduce:
1. Open the attached project ("case_1211833-AddressablesCancelingBug.zip")
2. Open the repro scene ("SampleScene")
3. Set "Play Mode Script" to "Use Existing Build"
4. Build Player Content
5. Enter Play Mode
6. Press the "Load" button in GUI
7. Inspect the "cancel" log in the Console, indicating that Addressables.UnloadSceneAsync has triggered
8. Wait until the scene is finished loading ("finish" log in the Console)
Expected results: Scene loading is canceled
Actual results: Scene loading is not canceled and finishes loading normally
Reproducible with: 2018.4.16f1, 2019.2.20f1, 2019.3.0f6, 2020.1.0a21
Couldn't test with 2017.4 (package is not supported)
Reproducible with package versions: 1.1.10, 1.6.0
-
aka3eka
May 13, 2020 12:52
This is not only Scene loading problem with Addressables. Addressables can not cancel any loading and even if Unload is called your loadComplete event handler will be called anyway.
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
- Prefab override popup is cropped/positioned incorrectly when more than one display is used and a higher display Scale is set
- Opening a dropdown on a small screen results in its instant closing when mouse cursor is pressed where the dropdown is going to be opened
- Only "ArgumentNullException: Value cannot be null" is displayed instead of all the actual errors when opening a project with numerous compilation errors
- MultiColumnListView and MultiColumnTreeView do not change selection on first input when focus is set by code
- SerializedProperty.DataEquals is returning false when SerializedProperty.EqualContents return true
Resolution Note:
As described this is a "won't fix", but 1.16 release will come with a partial fix. We cannot cancel a scene load if in-progress, so the request to do so is "won't fix". Instead, we are adding a system to chain an unload to a load-in-progress.
So if you load a scene, then immiediately unload it. We will arrange the async operations such that the scene will finish loading, and then immediately unload.