Unity в 2к21 что поменялось?

Кулити, работяги. Последний свой проект на Unity писал в ~2018 году, хочу написать простенькую мобильную дрочильню в 2D в пределах 2 месяцев и несколько часов не могу определится со стеком.

1. UI Toolkit vs Unity UI

UI Toolkit выглядит круто учитывая что куча проприетарных движков уже юзают что-то web-подобное(прим. source 2 panorama ui) и flexbox очень притягивает, но из всего что прочитал так и не могу понять
- приблизительно когда он выйдет из preview и станет production-ready? мб кто-то внимательно следит и активно использует, как оцениваете готовность?
- кто-то юзает в продакшене, какие у вас возникали проблемы? Это просто недостаток каких-то фич или в проде может крашиться апп/ANR? возникают баги рендера?

2. async/await или yield'а?

Увидел что WWW теперь deprecated, написали новенький UnityWebRequest, я думал, ну вот он, точно без корутин будет, оказалось нет (⊙_⊙;)
Поискав как писать кодесы на async/await нашел 1001 способ как это делать в Unity, есть ли какой-то "индустриальный стандарт" нопешите в комментарии плез?
Пока что склоняюсь к вот этой штуке

88
8 комментариев

О, это я вовремя зашел! Ну что ж!

1. Я попробовал первый раз UI Toolkit год назад, был очень сырой. Попрбовал недавно - гораздо лучше, но не хватает всяких прикольных фитч, например, нельзя VisualElement своим шейдером отрисовать, а значит всякий красивый UI типа графиков и т.д. будет проблематично нарисовать. Еще плохо с анимациями. 

С другой стороны, возможность накидывать темы, flexbox (там внутри юзается yoga со всеми вытекающими, надо учитывать). Писать UI для редактора - сплошное удовольствие. Ну и конечно, API работы с ним гораздо удобнее. Да и уверен, оно гораздо быстрее работает. 

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

2. Async\await уже давно работает из коробки, ничего ставить не надо, восхитительная штука. Даже посоветую воспользоваться Asyncorutine, которая дает возможность замиксовать с беконом еще и корутины.   
https://github.com/zsaladin/Asyncoroutine
Оно там что-то крякает про deprecated в отношении WWW, но я не пользовался пока им, не знаю, как лучше запросы делать в данный момент.

Если кто дополнит\поправит - будет клево.

9
Ответить

1. хз, юзал только для расширения интерфейса движка, а вообще вот https://docs.unity3d.com/Manual/UI-system-compare.html
2. UniTask

3
Ответить

О, клево, UniTask гораздо лучше, чем то, что я предложил.

Ответить

Переходи на UE5 :3

2
Ответить

Комментарий недоступен

1
Ответить

Она настраивается, по-умолчанию, появляется через три секунды после начала затупа редактора. 
 
То есть, проблема глубже, все воют, что редактор с 2020 версии начал работать значительно медленее, но они пока не могут понять, почему. Хотя обещали выкатить какой-то прифилироващик для него, посмотрим. 

1
Ответить

1. В обоих случаях решает арт, пока Toolkit не готов. UI Toolkit это имхо движение в сторону анриловых виджетов.
2. У WWW было куча проблем с крашами. Async await это синтаксис языка, ты вполне можешь обернуть корутину в эту конструкцию.

1
Ответить