TGViewer
Unity Architect: архитектура unity проектов Unity Architect: архитектура unity проектов @uniarchitect · 5.23K subscribers
Post #49 3.89K
ИНИЦИАЛИЗАЦИЯ

Точка входа

Для правильной инициализации нужно одно:
❕Честная загрузка приложения без фейковых ожиданий и шкал.
Это меняет архитектуру объектов, так как загрузка должна быть асинхронной и последовательной.

Звучит не сложно, но часто проект сталкивается с проблемами из-за невнимания к этому:
🔹 Инициализация происходит слишком рано
У меня раньше было искажение что инициализация должна происходить до того как загрузится сцена. Такое решение может привести к неочевидным проблемам.

Например: я с Unity IAP ловил такой баг, что черный экран после сплэша висит больше 5 секунд. Как я тогда понял это связано с тем, что жирная логика инициализации под атрибутом RuntimeInitializeOnLoadMethod. Помню на проде долго фрустрировал откуда такая ошибка, потому что тот же logcat ничего путного не показывал 🤔

🔹 Инициализация детерминирована
Когда RRR и инициализация разделяются, но вызовы методов не упорядочены
Или упорядочены не прозрачно, с завязкой на порядок регистрации или BindExecutionOrder

🔹 Логика инициализации выполняется раньше решения графа
Частая ошибка - писать весь код инициализации в Start или Awake, смешивая загрузку и инициализацию ресурсов.
Так можно столкнуться с ситуацией, когда ресурс А зависит от ресурса Б, который еще не готов.

Чтобы этих проблем не было, нужно:
🔸 Разделить фазу RRR и инициализации
🔸 Выделить конcтруктор и метод Init(-ialize)
🔸 Сделать сервис загрузки
🔸 Реализовать все Initialize методы
🔸 Запустить инициализацию, когда все компоненты движка 100% загружены

Тут лежит пример как это может быть 👨‍💻 на практике.
Это реальное тестовое задание, которое я делал пару месяцев назад меня с ним взяли в компанию, где я сейчас работаю

Так же пример точки инициализации с одного из реальных проектов. Для понимания как это выглядит в продакшене 😵‍💫

#проект_с_нуля@UniArchitect
  • 👍 15
More from @uniarchitect
  1. Jul 24, 2026Post #199
  2. Jul 12, 2026AI НЕ ДЕЛАЕТ ВАС ПРОДУКТИВНЕЕ Незыблемый факт: AI уже очень хорош в маленьких задачах. Нап…
  3. Jul 9, 2026Post #196
  4. Jul 7, 2026UNITY BUILD PIPELINE ПО КИРПИЧИКАМ Полгода назад я решил попробовать активность в блоге, г…
  5. Jul 4, 2026ПРОКЛЯТИЕ ПЕРЕИСПОЛЬЗУЕМОСТИ Делюсь болью. Я последние 5 лет на разных уровнях у разработч…
  6. Jun 29, 2026AI КАК РЕДАКТОР, А НЕ АВТОР Это вторая статья из серии про AI. Первая тут. Когда я запуска…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →