반응형
< 정의 >
Coroutine이란?
유니티에서 사용되는 코루틴은 비동기 프로그래밍을 수행하기 위한 기능 중 하나이다.
코루틴은 일시 중지 할 수 있는 함수의 실행을 가능하게 하며,
특정 조건이 충족될 때까지 기다린 후에 실행을 계속할 수 있도록 한다.
코루틴의 기본적인 원칙은 ‘IEnumerrator’ 인터페이스를 반환하는 함수를 통해 작성된다.
⇒ 비동기 처리를 해주는 특수한 메서드. 함수 실행을 일시중지 시킬 수 있다.
UniTask란?
유니티에서 UniTask는 비동기 작업을 처리하기 위한 도구로, 유니티에서 내장되어 있는 코루틴 기능을 대체하며 async/await 패턴을 지원한다.
일반적인 C#의 Task와 비교하여, UniTask는 유니티에서 더 효율적으로 동작하도록 설계되었다.
주로 WebGL 빌드와 같은 플랫폼에서 기본 Task의 제한을 극복하기 위해 사용되었다.
< 장단점 >
코루틴
장점
- 추가 라이브러리 불필요
- 시간 제어 가능 (yield return 사용)
단점
- IEnumerator 반환 함수에 제한
- 복잡한 비동기 작업 처리 어려움 (ex. When All)
UniTask
장점
- async / await 구문을 활용한 비동기 프로그래밍
- WhenAll, WhenAny 등의 내장 메서드 제공
- Zero Allocation 기능으로 성능 향상
단점
- 추가 라이브러리 필요
< 한줄요약 >
코루틴 가비지 남음
UniTask 가비지 안남음
오늘의 회고
튜터님께 멋쟁이 스킬을 알려달라고 했더니 UniTask에 대해서 알려주셨다. 한번 써보는 것도 좋을 것 같다. ㅎㅎ
>> 참고블로그
반응형
'Record > TIL' 카테고리의 다른 글
[Unity] 마우스커서 안보이게 하기 (0) | 2024.07.24 |
---|---|
[Unity] 낮과 밤 시간말고 스테이지별로 구현하기 (0) | 2024.07.23 |
[Unity] Unity 생명주기(Unity Life Cycle) (0) | 2024.07.19 |
[Unity] URP에서 3D 파티클 UI위에 뜨게하기 (폭죽 파티클) (2) | 2024.07.18 |
[Unity] 코루틴으로 스프라이트 작동시키기 (3) | 2024.07.17 |