TGViewer
Unity Architect: архитектура unity проектов Unity Architect: архитектура unity проектов @uniarchitect · 5.23K subscribers
Post #55 2.67K
Unity Architect: архитектура unity проектов ИНИЦИАЛИЗАЦИЯ Точка входа Для правильной инициализации нужно одно: ❕Честная загрузка приложения без фейковых ожиданий и шкал. Это меняет архитектуру объектов, так как загрузка должна быть асинхронной и последовательной. Звучит не сложно, но часто проект…
С ПОЛЕЙ РАЗРАБОТКИ: КРИВАЯ ИНИЦИАЛИЗАЦИЯ

На проекте, где сейчас работаю, все описанные в посте рекомендации нарушены.
И сейчас проект столкнулся с большими проблемами техническими:

1️⃣ Добавилась авторизация на сервере и время загрузки значительно увеличилось.
Отследить почему почти невозможно, потому что процесс инициализации раскидан по 100+ классам.
В итоге почему-то было принято решение бороться с ветряными мельницами и уменьшать кол-во запросов к серверу. Меньше запросов - быстрее загрузка, очевидно же 😵‍💫

2️⃣ Интегрирую FirebaseMessaging и получаю краш.
Нативная SDK кидает исключение как раз в момент, когда компоненты движка еще не проинициализированы.
Видя исключения на старте — ядро андроида просто убивает activity.
В результате ни нормальных логов, ни понимания что конкретно произошло.
А причина отсутствия логов - инициализация под аттрибутом RuntimeInitializeOnLoadMethod 🤕

А вот ниже причина, почему об инициализации нужно думать заранее:
void IInitializable.Initialize()
{
if (config.ConfigLoaded)
InitializeInternal();
else
config.OnConfigLoaded += OnConfigLoaded;

if (playerDataLoader.IsLoaded)
InitializeInternal();
else
playerDataLoader.PlayerDataLoaded += OnPlayerDataLoaded;
}


Честно, каждый раз, когда я пишу такие конструкции просто 🤣 в голос от боли скорее
И вот такое нужно в каждый класс копировать...

Просто представьте как тяжело будет:
— Вызвать логику между загрузкой конфигов и загрузкой профиля игрока 😱
— Перезагрузить игру, если не удалось авторизоваться 😵
— Изменить порядок вызова событий
Это ведь каждую копипасту нужно будет найти и поправить.

Вот так и рождаются ситуации, когда в одном месте "чинишь", а в другом ломается.
Страшно ребят.. мы ведь женам и детям дома нужны.
Берегите себя и инициализацию в своем проекте, амэн 😇

#будни@UniArchitect
  • 😁 7
  • 🤪 4
  • 🔥 2
  • 😨 2
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 →