코루틴이란?

코루틴(Coroutine)은 Unity에서 사용되는 특수한 함수로, 일반 함수와 달리 실행을 중단하고 나중에 다시 재개할 수 있다. 코루틴은 IEnumerator 타입을 반환하고 yield 키워드를 사용하여 실행을 중단하고 특정 조건이 충족되면 다시 실행을 재개며, 이를 통해 시간 기반 작업이나 비동기 작업을 쉽게 처리할 수 있다.

 

다양한 yield 유형

 

지정된 시간(초) 동안 대기

yield return new WaitForSeconds(3f); // 3초 동안 대기

 

현재 프레임의 끝까지 대기, 다음 프레임에서 코루틴이 재개된다.

yield return null;

 

모든 렌더링 작업이 끝날 때까지 대기한다.

yield return new WaitForEndOfFrame();

 

다음 물리 업데이트가 될 때까지 대기한다.

yield return new WaitForFixedUpdate();

 

다른 코루틴이 완료될 때까지 대기한다.

yield return StartCoroutine(OtherCoroutine());