Как стать автором
Поиск
Написать публикацию
Обновить

Объясняем UniTask так, чтобы понял даже ребенок (для Unity разработчиков и не только)

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.2K
Всего голосов 2: ↑1 и ↓10
Комментарии7

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

Мне кажется этот текст написал chat GPT….

Все правильно)
Я написала статью, а по моему запросу ИИ взял мною написанное и сделал чуть красивее:)

В чем же конкретно отличается Task от UniTask?

UniTask создан специально для Unity.
Отличие UniTask от стандартного Task, в том что он:
1. Почти не мусорит в памяти. Это значит, что игра работает плавнее, без микро-зависаний
2. Интегрирован с Unity. Он понимает игровой движок изнутри, а значит это делает его работу быстрее и эффективнее в игровых сценариях.
3. Более удобен. Предоставляет инструменты, заточенные именно под игровые задачи, вроде управления анимациями или загрузкой уровней.

Если в двух словах, то UniTask — это прокачанная версия Task, только идеально подогнанная для разработки игр на Unity.

Да, с этими терминами тоже ознакомился, но при разработке возникали трудности, и не понимание, а где же все же применять юнитаски:

  1. Нельзя работать из тред пула с рандом рендж…вообще не понятное ограничение

  2. Нельзя получать gameObject объекта не из mainThread

  3. Нельзя изменять трансформ объекта из threadPool

    И из этих ограничений не понятно, как использовать на максимум мощь юни тасок, так как в .net без них вообще никуда, а в юнити видимо приходится находить компромисс между корутинами и юнитасками?

Спасибо познавательно)

Но лучше было бы сравнивать корутины и юнитаски )

Я позже напишу на эту тему статью)
Но если кратко то корутины подходят для простых задач. Для более сложных лучше использовать UniTask)
Кстати для ecs корутины не подходят так как они привязаны к MonoBehaviour, а ecs использует чистые компоненты и системы без MonoBehaviour)

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

Публикации