Почему данный код не работает?
MainMenu это пустой объект для группировки элементов меню.cl_menu - переменная, доступ к которой не удается получить.
Destroy(mainMenu.transform.GetChild(0).gameObject); // Очищаем
Transform tem = Instantiate(mMenu); // Создаем
tem.transform.SetParent(mainMenu.transform); // Добавляем новый объект
cl_menu = mainMenu.transform.GetChild(0).gameObject; // Не работает
Если убрать первую строчку, всё работает прекрасно. Почему код выполняется не последовательно, а асинхронно?
Destroy срабатывает в конце фрейма:
Actual object destruction is always delayed until after the current Update loop, but will always be done before rendering.
DestroyImmediate сразу.
Хотите уничтожить, создать новый объект и сразу его использовать, попробуйте DestroyImmediate. Ну, или дождитесь окончания фрейма.
Через корутины с задержкой 0.1f заработало, но это костыль
Продвижение своими сайтами как стратегия роста и независимости