Actor Lifecycle

생성과 파괴 로직은 실행되는 순간이 다릅니다

Construction Script, Event BeginPlay, Event EndPlay를 같은 초기화 코드로 보지 말고 에디터, 플레이, 정리 시점으로 나눕니다.

세 이벤트의 책임

Lifetime
Construction

에디터에서 바로 보이는 설정

DoorType에 따라 메시를 바꾸는 프리뷰처럼 이동이나 변수 변경 때 반복 실행되어도 안전해야 합니다.

BeginPlay

게임 시작 후 한 번 준비

플레이어 체력 100 설정, UI 초기화, 컴포넌트 참조 저장처럼 실제 월드가 준비된 뒤 실행합니다.

EndPlay

사라지기 전 정리

Destroy Actor, 레벨 변경, 게임 종료 때 사운드, 위젯, 타이머, 점유 상태를 끊습니다.

로직을 넣기 전에 묻는 질문

Placement
Preview

에디터에서도 보여야 하나 여부

액터 배치 중 모양이 즉시 바뀌어야 하면 Construction Script 후보입니다.

Runtime

플레이어/UI 필요 여부

게임이 시작된 뒤 존재하는 객체를 참조한다면 BeginPlay에서 연결합니다.

Cleanup

잔존 시 문제 여부

등록한 이벤트, 재생 중인 소리, 표시한 위젯은 EndPlay에서 해제할 짝을 둡니다.

Repeat

반복 실행에 안전한 여부

Construction Script에 컴포넌트 생성 누적 같은 부작용을 두면 에디터 조작마다 문제가 커질 수 있습니다.