https://dev.epicgames.com/documentation/unreal-engine/actor-lifecycle?application_version=4.27
Unreal Engine Actor Lifecycle | Unreal Engine 5.7 Documentation | Epic Developer Community
What actually happens when an Actor is loaded or spawned, and eventually dies.
dev.epicgames.com
디테일한 설명은 공식문서로.
생성 순서
객체가 생성되는 순서는 방법에 따라 조금씩 다른데, 우선은 월드에 배치되어있는 객체를 기준으로 본다면,
클래스 생성자(Constructor)
컴포넌트 생성 및 초기 데이터 설정. 가장 기본적인 클래스 생성
컴포넌트 초기화
PreInitializeComponents()
InitializeComponents()
PostInitializeComponents()
컴포넌트가 초기화 되기 이전과 이후의 발생.
컴포넌트 초기화 전에 미리 초기값을 설정하는 경우에 pre~
직접 컴포넌트 초기화에 개입해야 하는 경우 InitializeComponents()
초기화된 컴포넌트를 가지고 설정을 하는경우 Post~~를 사용한다고 함.
Beginplay()
액터가 배치, Spawn된 직후에 호출.
실행중
Tick(float DeltaTime)
액터가 존재할 때 매 프레임마다 호출됨.
제거 순
Destroyed()
사용자에 의해 수동적으로 제거되는 경우(게임이 끝나진 않았지만 액터를 삭제하는 등)에 호출됨.
EndPlay()
어떠한 방식으로든 액터가 제거될 때 호출됨.
EEndPlayReason::Type에서 해당하는 경우들을 찾아 볼 수 있음.

- Destroy 명시적 호출, 액터의 수명 만료\
- level Transition (심리스 트래블 또는 맵 로드)
- 에디터에서 플레이 종료
- 액터가 들어있는 스트리밍 레벨 언로드
- 어플리케이션 종료 (모든 액터 소멸)
클래스 소멸자는 사용하지 않고 Destroy() EndPlay()등에서 적절하게 처리해야함
추가)
c++에서 이벤트 오버라이드 하여 사용할 경우
종료 이벤트에서는 Super 호출이전에 사용자 로직을 추가하고
이 외에는 Super함수 호출 후에 사용자 로직을 작성하도록 한다

'개발 > 언리얼' 카테고리의 다른 글
| 언리얼 c++로 움직이는 액터 구현하기 (0) | 2026.04.10 |
|---|---|
| 언리얼 리플렉션 매크로로 프로퍼티 설정하기(UPROPERTY, UFUNCTION) (0) | 2026.04.07 |
| c++ 액터 클래스 뼈대 만들기 (0) | 2026.04.07 |
| 팹 라이브러리에서 원하는 에셋만 가져오도록 관리하기(마이그레이션) (0) | 2026.03.24 |
| 보간(Interp)을 이용한 부드러운 액터 움직임 구현 (0) | 2026.03.23 |