Хорошо, так что сначала: этот сценарий не звучит так, как будто вы должны использовать несколько сцен, поэтому я бы сказал «пересмотреть вашу архитектуру и поток сцен в этом случае». Но я также здесь, чтобы ответить на ваш вопрос, поэтому давайте сделаем это вместо этого.
Отличным способом обмена данными между сценами является использование ScriptableObject
в качестве контейнера данных. Вы просто создаете класс данных, которые вы хотите использовать в нескольких сценах, а затем создаете экземпляр вашего ScriptableObject
в качестве актива в вашей папке активов.
Этот актив затем может быть назначен всем компонентам, которые необходимо использовать это для передачи данных. По сути, это похоже на текстуру, нарисованную в одной сцене и считанную из другой сцены.
Вы даже можете улучшить это, создав своего рода «привязку данных», используя эти ScriptableObject
активы в качестве переменных. Об этом topi c, опубликованном в 2017 году, на канале Unitys YouTube много говорят: Unite Austin 2017 - Архитектура игры со скриптовыми объектами