학습일지/언리얼

Unreal - Life Cycle

Tsukino Ren 2026. 4. 7. 21:43

Unreal Actor Life Cycle

함수

PostInitializeComponents()

컴포넌트 초기화가 끝난 뒤 호출되는 함수다.

Actor가 가지고 있는 컴포넌트들이 준비된 뒤 실행되므로 컴포넌트 상태를 확인하거나 추가 초기화 작업을 넣기 좋다.

 

즉, 생성 직후보다 한 단계 더 진행된 시점이라 볼 수 있다.


BeginPlay()

게임이 실제로 시작될 때 호출된다.

플레이 중 필요한 초기값 세팅, 시작 시 로그 출력, 상태 초기화 등에 사용된다.

 

게임에 들어와서 본격적으로 동작 시작하는 지점으로 보면 된다.


Tick(float DeltaTime)

매 프레임 호출되는 함수다.

지속적으로 변해야 하는 로직들로 이동, 회전, 크기 및 상태 갱신 등에 사용된다.


Destroyed()

Actor가 실제로 파괴될 때 호출된다. 삭제 직전의 처리 라고 보면 된다.


EndPlay()

Actor의 플레이가 종료될 때 호출된다.

파괴, 레벨 전환, 게임 종료 등으로 호출될 수 있다.

 

Destoryed 보다 조금 더 넓은 개념이다. Actor의 플레이 단계가 끝났다! 라고 생각하면 된다.


마무리

PostInitializeComponents()는 컴포넌트 준비가 끝난 뒤 호출되므로 초기 세팅 시점을 세분화해서 볼 수 있었다.

BeginPlay()는 실제 플레이 시작 시점이고, Tick()은 매 프레임 호출되기 때문에 성능을 고려해서 써야 한다.

또한 Actor 종료 시점에도 Destroyed()와 EndPlay()가 따로 있다는 점이 인상적이었다.
둘 다 비슷해 보이지만, EndPlay()는 더 넓은 종료 상황을 포함하고 Destroyed()는 실제 파괴에 가까운 개념이라는 차이가 있다.

Unreal Actor는 생성 직후 바로 끝나는 것이 아니라,
초기화 → 플레이 시작 → 프레임 반복 → 종료의 라이프사이클을 가진다.