Sobre el proyecto

UniTask es una biblioteca de alto rendimiento async/await para Unity, diseñada para reemplazar las corrutinas tradicionales y las operaciones asíncronas basadas en Task con cero asignaciones. Proporciona `UniTask<T>` basado en structs y un AsyncMethodBuilder personalizado, haciendo que todas las AsyncOperations y corrutinas de Unity sean awaitable. Las características clave incluyen tareas basadas en PlayerLoop como `UniTask.Yield` y `UniTask.DelayFrame`, manejo de cancelación y tiempos de espera mediante `CancellationToken`, reporte de progreso con la clase ligera `Progress`, y una ventana TaskTracker para prevenir fugas de memoria. Soporta LINQ asíncrono, Channel y AsyncReactiveProperty, y es compatible con ValueTask/IValueTaskSource de .NET Standard 2.1. UniTask se ejecuta completamente en el PlayerLoop de Unity, evitando hilos, y funciona en WebGL y wasm. Ofrece utilidades como `WhenAll`, `WhenAny` y `WhenEach`, y puede convertir desde/hacia tareas estándar y corrutinas. La instalación se realiza mediante UPM o paquete de assets, requiriendo Unity 2018.3 o posterior.