Deff_Dev
[Unity/C#] 생명주기와 yield return 호출 순서 본문
Unity 생명 주기란 ?
- 스크립트가 실행될 때 유니티의 이벤트 함수들이 실행되는 순서를 말합니다.
유니티 생명 주기 표
많이 사용 되는 이벤트 함수들의 순서를 적어보면
Awake → OnEnable → Start → FixedUpdate → Update → LateUpdate → OnDisable → OnDestroy
이 순서로 이벤트 함수가 실행됩니다.
코루틴은 YieldInstructions에 따라 호출 순서가 달라집니다.
FixedUpdate 이후
yield return new WaitForFixedUpdate()
→ 모든 스크립트의 FixedUpdate 함수가 실행이 끝난 후에 yield return new WaitForFixedUpdate() 이후 내용을 실행합니다.
Update 이후
yield return null
→ 현재 프레임의 모든 Update 함수가 실행이 끝난 후에 yield return null 이후 내용을 실행합니다.
yield return new WaitForEndOfFrame()
→ 모든 Update 함수가 실행이 끝나고 화면 렌더링까지 끝났을 때 yield return new WaitForEndOfFrame() 이후 내용을 실행합니다.
조건이 만족하는 경우
yield return new WaitForSeconds(float)
yield return new WaitForSecondsRealtime(float)
→ 설정한 시간(초)가 지나고 이후 내용을 실행합니다. (Realtime은 Time.timeScale에 영향을 받지 않음.)
yield return new WaitUntil(조건)
→ 설정한 조건의 값이 true일때 yield return new WaitUntil(조건) 이후 내용을 실행합니다.
yield return new WaitWhile(조건)
→ 설정한 조건의 값이 false일때 yield return new WaitWhile(조건) 이후 내용을 실행합니다.
yield return startCoroutine(string)
→ 해당 코루틴이 끝난 후 yield return startCoroutine(string) 이후 내용을 실행합니다.
유니티 생명 주기표 출처
'Unity(유니티) > 유니티 공부' 카테고리의 다른 글
[Unity/C#] 변수 (0) | 2024.02.25 |
---|---|
[Unity/C#] 박싱, 언박싱 (0) | 2024.02.24 |
[Unity/C#] 유니티 이벤트 함수 (0) | 2024.02.24 |
[Unity/C#] RigidBody의 AddForce와 AddRelativeForce 차이점 (0) | 2023.11.14 |
[Unity/C#] 2022.3.4f1 안드로이드 build.gradle 빌드 오류 (2) | 2023.11.01 |