프로젝트 소개
UniTask는 Unity용 고성능 async/await 라이브러리로, 기존 코루틴과 Task 기반 비동기 작업을 제로 할당으로 대체하도록 설계되었습니다. 구조체 기반의 `UniTask<T>`와 사용자 정의 AsyncMethodBuilder를 제공하여 모든 Unity AsyncOperation과 코루틴을 await 가능하게 만듭니다. 주요 기능으로는 `UniTask.Yield` 및 `UniTask.DelayFrame`과 같은 PlayerLoop 기반 작업, `CancellationToken`을 통한 취소 및 시간 초과 처리, 경량 `Progress` 클래스를 통한 진행률 보고, 메모리 누수를 방지하는 TaskTracker 창이 포함됩니다. 또한 비동기 LINQ, Channel, AsyncReactiveProperty를 지원하며 .NET Standard 2.1의 ValueTask/IValueTaskSource와 호환됩니다. UniTask는 전적으로 Unity의 PlayerLoop에서 실행되어 스레드를 사용하지 않으며 WebGL 및 wasm에서 작동합니다. `WhenAll`, `WhenAny`, `WhenEach`와 같은 유틸리티를 제공하고 표준 Task 및 코루틴과 상호 변환할 수 있습니다. 설치 방법은 UPM 또는 에셋 패키지를 통해 가능하며 Unity 2018.3 이상이 필요합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.