UnloadSceneAsync never completes when using LoadSceneAsync at the same time

Hi,

When trying to write some scene transitions I noticed some weird/undocumented behaviour. When switching a scene we call UnloadSceneAsync to unload the old one, and concurrently load the new scene using LoadSceneAsync with allowSceneActivation set to false.

We subscribe to the completed event of the unload asyncoperation to allow scene activation once the old scene has unloaded, but it never seems to complete (the callback never triggers). Also, when running in the editor I can see the old scene never disappears from the hierarchy. If we first unload the old scene and only then start loading the new one everything is fine.

Is this expected behaviour? Reproduced in latest stable and betas, no mention of it in documentation.

1 Like

Have you tried the opposite? First, load the scene and then unload the old one. In my opinion, this is a better way because it will be a more smooth transition, if we don’t do so then it will be a short time without any scene in the game (Which doesn’t make sense).