Unreal Engine5 매크로

Yongs12 ㅣ 2024. 8. 17. 19:43

 

Unreal Engine 리플렉션 시스템

객체의 메타데이터를 제공하여 타입, 속성, 메서드에 대한 정보를 런타임에 접근할 수 있게함

- RTTI와 유사한 기능 제공

 

리플렉션 시스템에 등록되는 매크로들

UCLASS(), UPROPERTY(), UFUNCTION(), UENUM(), USTRUCT()...

 


UCLASS()

게임 오브젝트로 사용할 수 있는 클래스를 정의

 


UFUNCTION()

멤버 함수 설정

// 블루프린트에서 호출가능, 카테고리 이름 설정
UFUNCTION(BlueprintCallable, Category="MyCategory")
void Function();

 

BlueprintCallable: 블루프린트에서 호출 가능

Category: 변수나 속성의 카테고리를 지정

 


UPROPERTY()

멤버 변수 설정

// 멤버 변수를 블루프린트에서 수정가능하게, 카테고리 설정
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="MyCategory")
int32 _value;

 

EditAnywhere: 에디터에서 이 변수를 수정할 수 있음
BlueprintReadWrite: 블루프린트에서 읽고 쓸 수 있음
VisibleAnywhere: 에디터에서 이 변수는 읽기 전용으로 보임
Replicated: 이 변수를 네트워크에서 동기화
Category: 변수나 속성의 카테고리를 지정

 


 

UENUM()

열거형을 블루프린트에서 호출 가능

// 블루프린트에서 사용할 수 있음
UENUM(BlueprintType)
enum class EMyEnum : uint8
{
    ENUM1,
    ENUM2,
};

 


 

GENERATED_BODY()

생성자, 소멸자등을 자동으로 생성