Unity

[Unity] 유니티 생명 주기(Life Cycle)

내꺼블로그 2024. 4. 12. 11:57

https://docs.unity3d.com/kr/2019.4/Manual/ExecutionOrder.html

 

이벤트 함수의 실행 순서 - Unity 매뉴얼

Unity 스크립트를 실행하면 사전에 지정한 순서대로 여러 개의 이벤트 함수가 실행됩니다. 이 페이지에서는 이러한 이벤트 함수를 소개하고 실행 시퀀스에 어떻게 포함되는지 설명합니다.

docs.unity3d.com

 

다음 사이트를 참고하여 작성하였습니다.

공부용으로 작성한 글이므로 오류가 있을 수 있습니다.

 

 


 

 

유니티 생명주기

유니티 스크립트에서 실행 되는 여러 개의 이벤트 함수의 순서.

유니티 스크립트가 실행 되는 동안 이벤트 함수들이 순서대로 실행되는 과정을 의미한다.

 

유니티 생명주기는 다음과 같은 과정으로 이루어져 있다.

 

1) Awake

  • Start 함수가 호출되기 전, 프리팹이 인스턴스화 된 직후 호출된다.
  • 오브젝트가 시작하는 동안 비활성화인 경우 활성화될 때까지 호출되지 않는다.
    => 시작+활성화될 때 한번 호출

2) OnEnable

  • 오브젝트 활성화될 때마다 직후에 호출

3) Start

  • 스크립트 인스턴스가 활성화된 경우 첫 프레임 시작 전에 호출된다.

4) FixedUpdate

  • 프레임마다 호출되는 것이 아니며, 호출 주기가 고정적이다.
  • FixedUpdate 이후 모든 물리 연산 및 업데이트가 일어나므로 주로 물리 연산을 실행할 때 사용한다.(ex. RigidBody를 사용한 움직임 구현)
  • 프레임에 영향을 받지 않으므로 FixedUpdate 함수 내에서 움직임 계산을 위해 Time.deltaTime을 사용할 필요가 없다.

5) OnTriggerXXX, OnCollisionXXX


6) Update

  • 프레임마다 한 번 호출된다.

7) LateUpdate

  • Update 함수가 완전히 끝난 후 프레임마다 한 번 호출된다.

8) OnDisable

  • 해당 오브젝트 동작이 비활성화 되거나 비활성 상태일 때 호출된다.

9) OnDestroy

  • 오브젝트의 마지막 프레임에서 이전 함수들의 실행이 끝난 이후 호출된다.
  • Object.Destroy() 또는 씬 종료에 대한 응답으로 파괴될 수 있다.