когда сцена / игра начинается, эти вещи не исчезают сразу, даже если вы их делаете, они появляются один за другим. Это верно и для игры.
Порядок выполнения - реальная вещь
Senario:
ObjectA
Awake()
ObjectB
static variable1
public variable2
Awake()
Итак, в результате ObjectA он говорит: go получить переменную stati c из ObjectB .. но objectB еще не был создан, но его следующий ..
Изменение objectA для использования Start () исправит это, потому что запуск выполняется до первого кадра, к тому времени, все сделано.
Потенциально, если вы перемещаете objectB перед objectA в иерархии, это также может помочь, но не обязательно надежно
Другой вариант - вручную установить порядок, необходимый для выполнения скриптов ваших проектов. order.
Короче говоря, вещи, которые go в состоянии бодрствования, должны быть самодостаточными, например, элементы, связанные только с этим объектом, например, установка singleton, инициализация переменных, которые не зависят от других вещей. Короче говоря, с человеческой точки зрения, все, что вы можете сделать вокруг своего дома. Начало - это то место, куда вы помещаете следующую волну действий, основанных на других вещах, например, на использовании внешних данных clasd, поскольку вы знаете, что они зашли так далеко.
Конечно, вы все равно можете запустить Если у вас есть циклические зависимости типа, как будто для запуска в Object C нужны данные из ObjectD, но D для этого нужно C ...