Проблема с получением имени сцены на юнити(Null в имени через GetSceneByBuildIndex().name)

Рейтинг: 0Ответов: 1Опубликовано: 31.03.2023

Всех приветствую. Срочно нужна помощь: возникла ошибка на игровом движке Unity. Когда использую GetSceneByBuildIndex() и пытаюсь получить имя этой сцены - выводится Null, но имя текущей сцены прекрасно выводится. Подскажите, в чём проблема?

Код:

Debug.Log(SceneManager.sceneCountInBuildSettings - 1);
int RandomScene = Random.Range(1, SceneManager.sceneCountInBuildSettings - 1);
totalScene = SceneManager.GetSceneByBuildIndex(RandomScene).name;
Debug.Log(scene);

Ответы

▲ 1Принят

В документации есть строчка, что если сцена не была загружена, то этот метод не может вернуть параметры сцены. Т.е, если сцена ни разу не была открыта во время игры, то этот метод будет возвращать Null.

This method will return a valid Scene if a Scene has been added to the build settings at the given build index AND the Scene is loaded. If it has not been loaded yet the SceneManager cannot return a valid Scene.