Unity

유니티 라이프사이클

kark 2025. 4. 15. 16:01
728x90

유니티에서 MonoBehaviour 로 상속받은 스크립트는 특정한 흐름에 따라 호출되는 생명주기를 갖는다.

이 흐름을 이해하면 코드의 실행시점을 제어 할 수 있고, 이는 최적화 또는 디버깅에 큰 도움이 된다.

 

대표적인 유니티 라이프사이클은

초기화 단계의 Awake, OnEnable, Start 

게임 루트 실행단계로 Update, LateUpdate, Fixed Update 가 있다.

 

Awake

스크립트의 인스턴스가 생성되자마자 호출되며 이는 하이어라키 내에 비활성화된 오브젝트여도 호출된다.

주로 다른 오브젝트 참조를 가져오거나, 싱글톤의 초기화 같은 작업에 사용된다.

 

OnEnable

오브젝트가 활성화 될때마다 호출되는 특징이 있으며

오브젝트 풀로부터 활성, 비활성화가 빈번하게 일어나는 객체의 변수 초기화 작업에 유용하게 활용될 수 있다.

 

Start

첫 프레임이 시작되기 전 호출되며 Awake 보다 늦게 호출되며

다른 컴포넌트의 Awake 를 통한 초기화 작업이 수행된 이후의 시점을 보장 받을 수 있어 안전한 참조가 가능

 

Update

매 프레임 마다 호출되며, 주로 입력처리와 같은 로직을 수행하는데 적합

 

LateUpdate

업데이트 이후에 호출되며 카메라 추적처럼 다른 오브젝트의 이동이 완료된 뒤 수행되어야 할 로직을 적용하는데 적합

 

FixedUpdate

물리연산을 위한 업데이트로 기본적인 물리 프레임 단위인 0.02초 단위로 호출되며

RigidBody 관련된 작업은 이 생명 주기 내에서 수행하여야 정확한 시뮬레이션이 가능하다.

'Unity' 카테고리의 다른 글

Rotation 파고들기  (0) 2025.04.19
RectTransform 파고들기  (0) 2025.04.19
Unity Job System  (0) 2025.02.10
FixedUpdate , Update , LateUpdate  (0) 2025.02.08
Dotween Ease  (0) 2025.01.12