reflection checklist

매크로 공개 계약

C++ 선언은 컴파일만으로 끝나지 않습니다. UHT가 읽을 수 있는 매크로와 specifier를 붙여야 에디터, 저장, 블루프린트 노출까지 이어집니다.

Class 에디터가 인식해야 하면 UCLASS()
Data 저장·편집·GC 참조가 필요하면 UPROPERTY()
Action 블루프린트 호출 지점이면 UFUNCTION()
UCLASS

타입을 엔진 객체로 등록

클래스 생성, 블루프린트 상속, 에디터 노출의 출발점입니다. GENERATED_BODY()와 generated header 순서를 같이 지킵니다.

UPROPERTY

값과 참조를 엔진이 추적

디테일 패널 편집, 직렬화, GC 안전 참조, 블루프린트 get/set 권한을 specifier로 나눕니다.

UFUNCTION

동작을 노드와 이벤트로 공개

BlueprintCallable은 실행 핀, BlueprintPure는 데이터 핀 중심입니다. 상태 변경 여부로 구분합니다.

자주 쓰는 specifier를 목적별로 고르기

디테일 패널 편집 EditAnywhere는 인스턴스와 기본값 모두 조정 EditDefaultsOnly는 클래스 기본값 중심
읽기 전용 표시 VisibleAnywhere로 확인만 허용 BlueprintReadOnly로 블루프린트 쓰기 차단
블루프린트 호출 BlueprintCallable은 명령형 함수 BlueprintPure는 상태를 바꾸지 않는 조회