[TIL] 비동기 프로그래밍(UniTask)
본문 로딩 중...
댓글 0
댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요.
Unity에 최적화된 Zero Allocation 비동기 프로그래밍 라이브러리
코루틴의 한계
UniTask의 해결책
promise 객체는 비동기 작업의 미래 결과를 담는 그릇으로 "나중에 값을 줄게"라는 약속이라고 생각하면 됨
1. Zero Allocation
struct 기반 UniTask로 Task 객체 할당을 없애고, async 상태머신의 promise 객체를 풀링·재사용해 신규 GC 할당을 제로로 만듦.
2. Unity PlayerLoop 통합
UniTask는 Unity의 PlayerLoop에서 직접 실행됨.
3. 완벽한 async/await 지원
async/await 키워드 사용| 구분 | 코루틴 | UniTask |
|---|---|---|
| 할당 | 적음 | 없음 (Zero) |
| 성능 | 보통 | 빠름 |
| 반환값 | ❌ | ✅ |
| 예외 처리 | ❌ | ✅ |
| 취소 | StopCoroutine | CancellationToken |
| 타입 안정성 | ❌ | ✅ |
| Unity 통합 | ✅ | ✅ |
SerializeReference
![[Unity] 튜토리얼 설계](https://data.develog.develrocket.com/upload/develog/user_1777093328305/1787322579554-zopplu/_____2026-08-21_232731.png)
튜토리얼 설계
![[Unity] Event Trigger Component](https://data.develog.develrocket.com/upload/develog/user_1777093328305/1786976296699-a3tu75/_____2026-08-17_231353.png)
Unity Event Trigger 컴포넌트
![[Unity] 튜토리얼 설계](https://data.develog.develrocket.com/upload/develog/user_1777093328305/1787322579554-zopplu/_____2026-08-21_232731.png)
![[Unity] Event Trigger Component](https://data.develog.develrocket.com/upload/develog/user_1777093328305/1786976296699-a3tu75/_____2026-08-17_231353.png)