Cygames가 세상에 선보인 라이브러리로
유니티용 async-await 통합 패키지
C#의 Task, async-await를 유니티에 맞게 최적화
그리고 사용하기 더편하도록 기능을 추가한 라이브러리
Unity는 단일 스레드 모델을 사용하는 게임 엔진
기본 동작은 주요 스레드에서 실행되며, 게임 로직, 물리 업데이트, 그래픽 렌더링 등이 주 스레드에서 처리된다
하지만 멀티스레딩을 지원하는 상황이 있는데, 작업 스레드 풀을 사용하여 비동기 작업을 처리하기도 한다
작업 스레드 풀은 병렬 작업을 수행하고 결과를 주 스레드로 반환한다
작업 스레드 풀은 대표적으로 네트워크 통신, 파일 로딩, 압축 해제 등에 사용된다
Unity에서 비동기 작업을 쉽게 다룰 수 있도록 도와주는 라이브러리
내부적으로 작업 스레드 풀을 활용하여 비동기 작업을 처리한다
예를 들어 UniTask를 사용하여 파일 로딩 작업을 처리하면 해당 작업은 작업 스레드 풀에서 실행되며, 주 스레드는 작업의 완료를 기다리거나 다른 작업을 처리할 수 있다