Высокопроизводительная библиотека tween-анимации для Unity без выделения памяти: анимируйте свойства, добавляйте задержки и выстраивайте последовательности одной строкой кода.
Cysharp/UniTask
Интеграция async/await без аллокаций для Unity, позволяющая ожидать асинхронные операции Unity, корутины и события PlayerLoop.
- Звёзды
- 11,256
- Форки
- 1,012
- Открытые issues
- 26
- Последний коммит
- 13 дней назад
Что это?
UniTask — это тип задач и интеграция async/await, созданные специально для Unity. Библиотека предоставляет основанный на структуре UniTask<T> с пользовательским построителем асинхронных методов, рассчитанным на отсутствие аллокаций, в качестве альтернативы стандартному Task. Асинхронные операции Unity, корутины и запросы UnityWebRequest можно ожидать напрямую, а ожидания кадров — Yield, Delay и DelayFrame — заменяют распространённые сценарии с корутинами.
Библиотека работает исключительно в PlayerLoop Unity, а не в потоках, поэтому подходит для таких платформ, как WebGL и WASM. В ней также предусмотрены отмена и тайм-ауты через CancellationToken, события MonoBehaviour и uGUI в виде ожидаемых или асинхронных потоков, а также асинхронный LINQ с Channel и AsyncReactiveProperty. Окно TaskTracker в редакторе помогает находить утёкшие задачи.
Для UniTask требуется Unity 2018.3 или новее с поддержкой task-like builder в C# 7.0. Установить библиотеку можно через UPM по git URL или из релиза unitypackage.
Ключевые возможности
- 01Основанный на структуре UniTask<T> с пользовательским построителем асинхронных методов, рассчитанным на отсутствие аллокаций.
- 02Возможность напрямую ожидать AsyncOperation, UnityWebRequest и корутины IEnumerator.
- 03Ожидания Yield, Delay и DelayFrame на основе PlayerLoop заменяют распространённые ожидания в корутинах.
- 04Работает в PlayerLoop без потоков, поэтому поддерживает WebGL и WASM.
- 05CancellationToken, вспомогательные средства для тайм-аутов и окно TaskTracker в редакторе для поиска утечек.
- 06Асинхронный LINQ, Channel и AsyncReactiveProperty для асинхронных потоков.
Сценарии использования
- Замена корутин в игре на Unity кодом с async/await.
- Последовательная или параллельная загрузка ресурсов и сцен, а также выполнение веб-запросов в Unity.
- Создание проектов Unity для WebGL, где потоки недоступны.
- Преобразование нажатий кнопок uGUI или событий MonoBehaviour в ожидаемые асинхронные потоки.
Темы
Частые вопросы
- Что такое UniTask?
- Интеграция async/await без аллокаций для Unity, позволяющая ожидать асинхронные операции Unity, корутины и события PlayerLoop. UniTask — это тип задач и интеграция async/await, созданные специально для Unity. Библиотека предоставляет основанный на структуре UniTask<T> с пользовательским построителем асинхронных методов, рассчитанным на отсутствие аллокаций, в качестве альтернативы стандартному Task. Асинхронные операции Unity, корутины и запросы UnityWebRequest можно ожидать напрямую, а ожидания кадров — Yield, Delay и DelayFrame — заменяют распространённые сценарии с корутинами.
- UniTask можно использовать бесплатно? Какая у него лицензия?
- UniTask распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- UniTask всё ещё поддерживается?
- Активно поддерживается. Последний коммит в UniTask — 6 окт. 2026 г..
- Для чего можно использовать UniTask?
- Замена корутин в игре на Unity кодом с async/await. Последовательная или параллельная загрузка ресурсов и сцен, а также выполнение веб-запросов в Unity. Создание проектов Unity для WebGL, где потоки недоступны. Преобразование нажатий кнопок uGUI или событий MonoBehaviour в ожидаемые асинхронные потоки.
- Где скачать UniTask?
- Исходный код и инструкции по установке — на GitHub: https://github.com/Cysharp/UniTask
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Официальная интеграция Yarn Spinner с Unity — системы диалогов в формате сценария для игр.
Плагин для Unity Editor и игр, который позволяет AI-агентам, например Claude, Cursor и Copilot, управлять Unity через инструменты MCP и генерируемые навыки.
Внутриигровая консоль на uGUI для Unity: отображает логи во время выполнения и позволяет запускать зарегистрированные команды в сборках.
Шаблон для Claude Code, который превращает разработку игры в работу студии с 49 специализированными AI-агентами, 74 slash-командами и хуками координации.
Расширение Unity, которое строит 2D-навигационные сетки по тайловым картам, спрайтам и формам Collider2D для поиска пути в играх с видом сверху.