Любая игра разбита на несколько уровней. Это значительно увеличивает производительность игры и упрощает ее создание.
- Создай первый уровень и сохрани его с уникальным именем, выбрав в главном меню File → Save Scene As…
- Добавь в проект новый уровень выбрав в главном меню File → New Scene. Когда уровень будет готов, сохрани его (File → Save Scene As…).
- Открой уровень на панели Project, который будет открываться первым при запуске игры. Выбери в главном меню File → Build Settings…. Нажми кнопку Add Open Scenes, чтобы текущий уровень добавился в список Scenes In Build. Повтори эти операции с другими уровнями, чтобы все они добавились в список Scenes In Build.
- Осталось только написать простой скрипт, который поможет тебе перемещать игрока между уровнями (сценами). Для этого тебе необходимо разобраться с триггерами.
Триггеры
Разберем работу триггеров на прототипе, который мы подготовили:

Задача: сделать переход из одной сцены в другую и обратно, когда Игрок подходит к двери. Триггеры подойдут замечательно.
Для обработки триггеров скрипт получает события OnTriggerEnter, OnTriggerStay и OnTriggerExit. Работа с ними полностью аналогична работе с событиями Start и Update. Событие OnTriggerEnter будет посылаться, когда объект только вошел в зону триггера. Это то, что нам нужно, но для начала создадим сами объекты с триггерами.
Триггер можно сделать из коллайдера. Для этого, нужно его выбрать и в окне Инспектор включить свойство isTrigger.
- Создай пустой объект GameObject → Create Empty.
- Добавь к созданному объекту один из компонентов Collider (Box Collider, Sphere Collider, Capsule Collider, Mesh Collider), расположенный в меню Component → Physics.
- Размести триггер прямо перед дверью.
- В настройках добавленного компонента включи параметр Is Trigger.
- Повтори это во второй сцене.

Теперь тебе понадобится этот скрипт: OnTriggerSceneLoader.7z. Разберем как он работает.
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class OnTriggerSceneLoader : MonoBehaviour { public string SceneName; //Название сцены. Не забываем добавить сцену BuildSettings > AddOpenScene void OnTriggerEnter(Collider other) //Для 3D - выполняется, когда Игрок войдет в зону триггера { if (other.gameObject.tag == "Player") //Проверяем тэг объекта { SceneManager.LoadScene(SceneName); //Загружаем сцену } } void OnTriggerEnter2D(Collider2D other) //Для 2D - в нашем случае, это событие выполняться не будет. { if (other.gameObject.tag == "Player") //Проверяем тэг объекта. Убедись, что у Игрока есть тег Player { SceneManager.LoadScene(SceneName); //Загружаем сцену } } }
Размести этот скрипт на триггерах. В сцене внутри Башни укажи SceneName, который соответствует названию сцены снаружи Башни. И наоборот.
Готово👍