component lifetime

기본 컴포넌트와 런타임 컴포넌트는 생성 위치가 다르다

카메라처럼 클래스의 고정 구조라면 생성자에서 만들고, 파워업이나 임시 장비처럼 플레이 중 붙었다 떨어지는 기능은 런타임 등록 절차를 따로 관리합니다.

두 생성 경로의 차이

CreateDefaultSubobject

클래스 기본 구조

생성자에서 호출하고 SetupAttachment()로 계층을 고정합니다. Blueprint의 Components 패널에서 기본 구성으로 보입니다.

NewObject

플레이 중 추가 기능

런타임에 만들고 소유자, 부착, 등록, 해제를 직접 챙깁니다. 임시 효과나 장비 시스템에 어울립니다.

런타임 컴포넌트 점검표

Outer와 소유자 액터 수명과 함께 정리되도록 소유 관계 지정 임시 객체가 월드에 남지 않게 관리
부착과 등록 SceneComponent라면 부모와 transform 규칙 설정 생성 후 월드에 쓰려면 등록 단계 확인
해제 시점 파워업 종료, 장비 교체, EndPlay에서 정리 남은 참조와 delegate 바인딩을 함께 끊기