СНГ-разработчик Роман Сакутин сделает вашу жизнь проще новым инструментом для передачи данных между сценами Typed Scenes. Он предоставляет строго-типизированные обёртки для Unity сцен через которые можно комфортно загружать сцены и передавать им данные для работы.
Ссылка на Github репозиторий:
HolyMonkey/unity-typed-scenes
https://github.com/HolyMonkey/unity-typed-scenes
Пакет самостоятельно генерирует классы-обёртки над сценами в Unity. Вам достаточно добавить сцену в проект и всё произойдёт само. Если в вашем проекте уже есть сцены то их достаточно реимпортировать.
Теперь вы можете запускать сцены через сгенерированные классы.
Основная идея этого компонента в том, что у сцены может быть некоторая модель для загрузки/отображения и чтобы запустить сцену нужно ОБЯЗАТЕЛЬНО передать объект в корректном состоянии.
Во-первых, вам нужно задать точку входа в сцене, т.е некоторый код который будет обрабатывать её загрузку.
Для этого вам нужно создать любой компонент реализующий интерфейс ISceneLoadHandler. В качестве T вы указываете те данные которые нужны сцене для запуска. Наш инструмент сам добавить необходимый метод Load в класс сцены который будет принимать в качестве аргумента подходящие данные. После добавления указанного компонента на сцену Game, в класс-сцены появится метод Load(string argument). После его вызова запустится сцена Game, а у всех компонентов которые реализуют ISceneLoadHandler вызовется метод OnSceneLoaded.