in Level class
LoadScene[Async] takes SceneReference or Guid as parameter type
but UnloadScene[Async] takes only Scene as parameter type.
It is bearable to use asset drag drop reference instead of string identifier when loading scene,
but why it takes another different type for unload param?
Level.Scenes property gives every scenes loaded, not providing a way to distinguish which is what.
Level.FindScene() takes only GUID to return Scene, so it is much more picky to ‘find a scene currently loaded’ from engine.
Level.GetScene() takes only integer index to return Scene, so it is 100% incompatible to LoadScene[…] family.
Only just a few ‘comparison’ is supportd to SceneReference, and seems there is no intuitive way to get corresponding ‘Scene’ from ‘SceneReference’ according to docs.
Eventually I couldn’t get the picture of consistent way to manage ‘what scene to load’, ‘what scene is now loaded’, and ‘what scene to unload’. Should I store Index Number/GUID/SceneReference/Scene all at once to keep track and convert/query each other? Or is there any centralized way to keep ‘alias’ of a scene for various API calls?
What is the standard way to unload a scene already loaded, by UnloadScene()?