Мне нужно кэшировать ссылку на другой скрипт в Unity.
Я не понимаю, почему в следующем коде кэширование ссылки в Start () не работает (я получаю исключение NullReferenceException), а кэширование ссылки в Awake () работает.
Насколько я понимаю, Start () получил название AFTER Awake (). Но из того, что я вижу, когда Start () вызывается, объект AnotherScript еще не существует, в то время как он завершается, когда вызывается Awake ().
Чего мне не хватает?
void Start()
{
anotherscript = GameObject.Find("AnotherScript").GetComponent<AnotherScript>(); // does not work
MyMethod();
}
void Awake()
{
anotherscript = GameObject.Find("AnotherScript").GetComponent<AnotherScript>(); // works
}
void MyMethod()
{
anotherscript.SomeMethod();
}
adasdad