FixedUpdate
Update
LateUpdate
보통 Update 함수가 끝난 후 실행되고, 주어진 YieldInstruction이 완료될 때까지 실행을 멈추고 다른 작업에 양보할 수 있다. 흐름을 관리하거나 여러 프레임에 걸쳐 실행되어야 하는 작업에서 코루틴을 사용한다. Update는 매 프레임마다 호출되기 때문에 1초에 수십번의 호출이 발생하기 때문에 많은 호출이 필요없는 경우에는 코루틴을 사용하여 처리할 수 있다.
StartCoroutine(IEnumerator routine);
StartCoroutine(string methodName, object value = null);
코루틴 함수는 필수적으로 yield return을 해야한다.
yield - 코루틴은 모든 Update 함수가 끝나고 다음 프레임으로 넘어가기 전에 이어서 실행된다.
yield return null
Update 함수가 끝난 후 다음 프레임으로 넘어가기 전에 이어서 실행된다.
yield WaitForSeconds
지정한 시간만큼 대기한 후, 그 프레임의 모든 Update 함수 끝난 후 이어서 실행된다.
yield WaitForFixedUpdate
FixedUpdate 전에 코루틴이 양보하면 현재 프레임의 FixedUpdate 이후에 이어서 실행된다.
yield WWW
WWW 다운로드가 완료된 후 이어서 실행된다.
yield StartCoroutine 코루틴을 연결하고 StartCoroutine으로 호출된 코루틴이 먼저 완료되기를 기다린 후 실행된다.
코루틴 흐름 : Update 내에서 코루틴 호출 시 yield return 이전의 코드를 실행 후 다시 Update로 넘어가 남은 작업을 끝낸다. Update가 종료되면 yield return 이후 코드를 실행하고 다음 프레임으로 넘어간다.
참고
Unity 사용자 매뉴얼 2022.3(LTS) / 스크립팅 / 스크립팅 개념
이벤트 함수의 실행 순서
https://docs.unity3d.com/kr/2022.3/Manual/ExecutionOrder.html
Unity: 비동기와 코루틴을 혼동하지 않기. calci. 2021. 10. 10. 08:51. https://tistory.jeon.sh/59
[유니티] 코루틴 (Coroutine). 엔츄핀. 2023. 11. 13. 05:27. https://enchupin.tistory.com/30
코루틴의 작동방식. 지영7130. 2023. 1. 6. 00:00. https://jygame7130.tistory.com/5
[Unity] 유니티 이벤트 함수 (Awake, Start, Update, FixedUpdate, LateUpdate 차이점).
예나월드. 2024. 5. 21. 19:02. https://yen-world.tistory.com/32
코루틴 관련 함수, YieldInstruction. 공부하는 식빵맘. 2021.01.17. https://ansohxxn.github.io/unitydocs/coroutine/