Как стать автором
Обновить

Комментарии 18

Круто, спасибо!

Рад стараться!

Еще MVVM хорошо подойдет для unity и согласуется со сервисами. А DI слишком много багов тащит, обычный service-локатор и фабрика проще.

Как вы решаете проблему перекрестных ссылок?

А DI слишком много багов тащит

Если речь о DIc, то не замечал. Есть особенности работы того же VContainer, например что он может 2 Singleton инстанса создать, я задавал вопрос мейнтенеру тут.
Но это не мешало использовать его у себя в студии на реальном проекте.
Что касается Zenject, то используется на большом кол-ве проектов во многих компаниях и зарекомендовал себя как достаточно стабильный для продакшена.

Спасибо, отличная статья.
Один из немногих случаев, когда обсуждается действительно архитектура и при этом действительно практичные решения, а на абстрактные колеса машины.
Действительно описаны подходы к решению проблем ЖЦ и организации.

Можно подискутировать по поводу пунктов, разумеется, но это больше вкусовщина.

Лучше напишите продолжение - как организовано переключение сцен и как передаются данные между ними, как организованы интерфейсы, какие правила для использования общего кода, моделей. Как изолируются модули и как используются общие библиотеки (логи, аналитика и т.д)

Спасибо большое за фидбэк!
Конечно, сделаю, когда в своем блоге раскрою, обязательно скомпоную это в статью на habr :)

Empty — костыль сцена для 100% выгрузки всех ресурсов предыдущей сцены.

Черт, я делал так же и думал что это настолько отвратительный костыль, что все используют гораздо более лучшее решение

По многим пунктам пришел к плюс-минус таким же мыслям. Всегда занятно видеть как другой человек приходит у примерно таким же выводам, как и ты. Пора в лиды значит топать :)

Я пришёл к тому чтобы вообще не использовать сцены, естественно кроме одной

Пришел к выводу, что идеально две сцены. Первая со сплэшом, которая грузит всякие синглтоны, инициализирует рекламные библиотеки и т.п. И вторая -- где вся игра.

На андроидах так вообще загрузка сцены часто это капец как долго, а юнити прогресс отдает не очень точно

Контент ТОП ! Спасибо =)

Спасибо за фидбэк!

Недавно делал импортер который позволяет лить ассеты в обход root пути .unitypackage

https://user-images.githubusercontent.com/7010398/221209668-6680d81d-01b9-4071-9a5c-06f8d13e267a.mp4

Т.к при большом кол-во ассетов в родительская папка довольно быстро засоряется.
Как решали данный момент или оставляли все как есть, т.к многие разработчики все еще не переходят на UPM registry






Прикольная идея, но как быть с обновлением? Так же ручками распаковываешь в эту папку и unity ловит изменения и оверрайдит только их?

если структура координально не меняется, то да Unity автоматом биндит их (например обновляются ассеты или конфиги), но с некоторыми критами, как например при последней обнове Google SDKs, где порефакторили прям структуру package, придется распаковывать ручками в нужную папку

Если перенести ассет в другую папку, юнити попытается обновить их по новому адресу
Но работает не всегда идеально, если добавляются новые файлы в других папках к примеру.

А теперь, коль вы самоучка - дайте список книг, которые нужно прочитать чтобы понять то, о чем вы здесь написали, в контексте терминов, употребляемых вами))

А каком списке книг речь...
Все о чем я тут написал, написано только тут и в моем блоге.
Книг, откуда я это вычитал, попросту нет.
Или есть, но я о них не слышал :)

(Насмотренность + опыт + дикое желание знать больше + постоянный зуд внутри черепа, желающий узнать как что-то работает изнутри) * время

И вот спустя пары кругов борьбы с чувством самозванца - статья.

Если нужен совет как понять - поработайте над коммерческим проектом (или создайте свой) и вернитесь к этой статье через какое-то время :)

Возможно речь о базовых штуках из пром программирования, типа DI и моделей.
Многие разработчики Unity - самоучки и просто так паттерны не поймут.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории