Про Unity от .NET-разработчика

Уровень материала: 🐣 #junior 🐥 #middle  📝 Полезная статья, которая будет не лишней каждому. Сам ничего нового не узнал, но всё равно увлекло так, что прочитал на одном дыхании. Для новичков — неглубоко и не развёрнуто, но достаточно, чтобы подтолкнуть к правильным промтам для дальнейшего поиска.  Мне даже нечего прокомментировать или добавить. Просто делюсь просто хорошим контентом.  >>> Задето много важных моментов:  🟣 Unity и .NET имеют различия в компиляции и исполнении кода.  🟣 Есть особенности при использовании пакетов из NuGet.  🟣 Немного сказано про сериализацию сцен и ассетов. Это очень важный момент, понимания которого не хватает многим начинающим разработчикам. Планирую насобирать материалов и сделать отдельный пост.  🟣 Из-за отсутствия конструктора у MonoBehaviour компоненты имеют неконсистентное состояние сразу после создания. Awake вызывается не сразу. Ещё и какой-нибудь Init тоже надо успеть вызвать вовремя. А то и, не дай бог, несколько Init'ов (не надо так).  🟣 Рассмотрены нюансы с созданием, сравнением и уничтожением объектов в Unity.  🟣 Упомянуты особенности работы с многопоточностью и асинхронностью в Unity.  🟣 Важный и редко упоминаемый момент: у Unity свой SynchronizationContext, который позволяет async-коду выполняться в одном с Unity потоке. Поэтому в контексте Unity простое использование async/await не ведёт к многопоточности ❗️  Услышите обратное (а на курсах такое прогоняют) — бегите.  🟣 В WebGL действительно не работают обычные Task'и. Но, это было не упомянуто, зато работают UniTask. Awaitable тоже должны работать — правда, это уже я лично не проверял.  🟣 Оставлено много советов по оптимизации. Мельком, кратенько, но верно.  ————————————  #unity #gamedev #development #engine #dotnet #csharp #геймдев #разработка #движок #рекомендация #статья

Про Unity от .NET-разработчика | Сетка — социальная сеть от hh.ru