타입을 엔진 객체로 등록
클래스 생성, 블루프린트 상속, 에디터 노출의 출발점입니다.
GENERATED_BODY()와 generated header 순서를 같이
지킵니다.
C++ 선언은 컴파일만으로 끝나지 않습니다. UHT가 읽을 수 있는 매크로와 specifier를 붙여야 에디터, 저장, 블루프린트 노출까지 이어집니다.
UCLASS()
UPROPERTY()
UFUNCTION()
클래스 생성, 블루프린트 상속, 에디터 노출의 출발점입니다.
GENERATED_BODY()와 generated header 순서를 같이
지킵니다.
디테일 패널 편집, 직렬화, GC 안전 참조, 블루프린트 get/set 권한을 specifier로 나눕니다.
BlueprintCallable은 실행 핀,
BlueprintPure는 데이터 핀 중심입니다. 상태 변경 여부로
구분합니다.
EditAnywhere는 인스턴스와 기본값 모두 조정
EditDefaultsOnly는 클래스 기본값 중심
VisibleAnywhere로 확인만 허용
BlueprintReadOnly로 블루프린트 쓰기 차단
BlueprintCallable은 명령형 함수
BlueprintPure는 상태를 바꾸지 않는 조회