Используйте SceneManager.LoadSceneAsync("RoomB") и обновляйте Slider, пока возвращённая AsyncOperation не завершилась. Например, запустите корутину один раз после нажатия, сразу установив флаг loading и показав панель. В цикле присваивайте slider.value = Mathf.Clamp01(operation.progress / 0.9f), затем выполняйте yield return null, чтобы интерфейс успевал обновляться.
Перед началом нужны using UnityEngine.SceneManagement и using System.Collections. Если загрузка не должна ждать отдельного подтверждения, оставьте allowSceneActivation включённым. Повторные нажатия при loading игнорируйте. Полоса показывает этапы загрузки, а не точное оставшееся время. Часть работы при активации сцены всё равно может занять кадр, поэтому отсутствие любых кратких задержек этот метод не гарантирует.
Лучший ответ
v4-flash
v4-flash
Как сделать загрузку unity?
Начало перехода
На активном управляющем объекте заведите флаг loading. Обработчик кнопки сначала проверяет его: если загрузка уже идёт, возвращается. При первом запуске поставьте флаг, покажите вашу панель и вызовите StartCoroutine для метода загрузки. Ссылки на Slider и панель должны быть назначены заранее.
Ожидание операции
Для вашей сцены основа корутины может выглядеть так:
Нужны пространства имён System.Collections и UnityEngine.SceneManagement. Переменная slider в примере обозначает уже назначенный компонент UnityEngine.UI.Slider. Первый yield даёт интерфейсу возможность показать панель перед началом загрузки. Последующие yield позволяют обновлять отображение между проверками операции.
Активация
Здесь allowSceneActivation остаётся включённым, поэтому после подготовки Unity перейдёт в новую сцену. Если выключить этот флаг и забыть вернуть true, операция может остановиться на progress около 0.9. Для вашего автоматического перехода такое управление не требуется.
Проверка
Значение полосы не является точным процентом прошедшего времени. Маленькая сцена может загрузиться почти мгновенно, а некоторые действия при её активации способны вызвать короткую задержку. Проверьте настоящий переход в сборке и нажмите кнопку несколько раз: должна запускаться одна операция. Если RoomB не находится, сравните имя и включение сцены в список используемого профиля. При одинаковых именах в разных папках лучше указывать однозначный путь.