Since “Scene” is not nullable, I cannot do this:
public static Scene GetSceneWithTaggedObject(string tag)
{
for (int i = 0; i < SceneManager.sceneCount; i++)
{
Scene scene = SceneManager.GetSceneAt(i);
foreach(GameObject go in scene.GetRootGameObjects()){
if(go.tag == tag){
return scene;
}
}
}
Debug.LogError("Could not find the global scene.");
return null; // Cannot do this with Unity.
}
My question is simply: what am I supposed to return when I have a non-nullable type, such as the Scene, but still want to return something that pretty much represents “null” or “didn’t find”?
Scene
SceneManager
Unity - Scripting API: SceneManager