이 둘은 Serialization, Garbage Collection, Bluerpint 연동, 네트워크 Replication을 가능하게 하는 요소이다.

유형 사용 목적 주요 기능
UPROPERTY 변수 설정 Blueprint 연동, 네트워크 동기화, 세이브 가능
UFUNCTION 함수 설정 Blueprint 실행, RPC(네트워크 함수), 콘솔 명령어

UPROPERTY

UPROPERTY언리얼 엔진의 객체 시스템에서 변수의 메타데이터를 설정하는 매크로

자주 사용하는 UPROPERTY Specifiers

Specifier 설명
VisibleAnywhere 에디터 & 코드에서 읽기 가능, 변경 불가 (디버깅용)
EditAnywhere 에디터에서 수정 가능 (모든 속성 변경 가능)
EditDefaultsOnly 에디터에서 기본 값만 변경 가능, 런타임 도중 변경 불가
BlueprintReadOnly Blueprint에서 읽기 가능하지만 수정 불가
BlueprintReadWrite Blueprint에서 읽고 수정 가능
Replicated 네트워크 동기화(Replication) 지원
SaveGame 게임 세이브 데이터에 포함
Transient 저장되지 않는 임시 변수 (세이브 불가)
Category = "이름" 에디터에서 변수 그룹 설정 (정리용)

UFUNCTION

UFUNCTION언리얼 엔진의 리플렉션 시스템에서 함수에 메타데이터를 추가하는 매크로