센로그

[Unity] Awake(), Start(), OnEnable() 차이 본문

게임/Unity, C#

[Unity] Awake(), Start(), OnEnable() 차이

seeyoun 2023. 7. 7. 17:09

◆ 실행 조건 (GameObject 및 Script활성화 여부)

  • Awake()GameObject가 활성화된 경우에 실행됨.
  • OnEnable()Start() Script도 활성화된 경우에 실행됨.

 

 

예시 1) GameObject와 Script 모두 활성화된 경우

→ Awake(), OnEnable(), Start() 모두 실행

 

예시 2) GameObject는 활성화, Script는 비활성화된 경우

Awake()만 실행

 

※ GameObject 자체가 비활성화된 경우는 모두 실행되지 않음

Awake() Start() 최초 1회 실행, OnEnable()은 Game object가 활성화될 때마다 실행

 


 실행 순서

Awake() OnEnable() Start() 순서로 실행

이후에 Update() 패거리들 실행

 

참고) https://docs.unity3d.com/kr/2021.1/Manual/ExecutionOrder.html

 


게임 도중 Instantiate 할 경우

  • Awake()인스턴스화된 직후에 호출
  • OnEnable()스크립트 활성화 직후에 호출
  • Start()는 (다음) 프레임 업데이트 전에 호출

 

Comments