클래스 노출
UCLASS specifier로 Blueprint 생성 가능 여부와 에디터 표시 범위를 정한다.
type exposure언리얼 리플렉션 매크로는 C++ 타입을 에디터, 직렬화, GC, Blueprint에 노출하면서 읽기·쓰기 권한과 수명 관리 규칙을 함께 정한다.
UCLASS specifier로 Blueprint 생성 가능 여부와 에디터 표시 범위를 정한다.
type exposureEditDefaultsOnly, EditInstanceOnly, BlueprintReadOnly/Write로 수정 위치를 제한한다.
편집 범위BlueprintCallable, BlueprintPure, RPC specifier가 호출 위치와 네트워크 의미를 바꾼다.
호출 경계UObject 참조는 UPROPERTY로 추적되어야 GC와 serialization이 안전하게 작동한다.
lifetimeUPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Combat")
float MaxHealth = 100.0f;
UFUNCTION(BlueprintCallable, Category="Combat")
void ApplyDamage(float Amount);