[UE5] Enum 과 namespace

Eu4ng·2024년 2월 7일

UE5 / TIL

목록 보기
8/8

개요

언리얼 엔진에서 Enum 은 다음과 같이 작성하도록 되어있습니다.

UENUM()
enum class EThing : uint8
{
    Thing1,
    Thing2
}

그러나 코드를 둘러보다 보면 간혹 namespace 를 사용한 enum 을 종종 발견할 수 있습니다.

UENUM()
namespace EThing
{
    enum Type
    {
        Thing1,
        Thing2
    };
}

처음에는 사용 목적에 따른 차이인 줄 알았는데 namespace 를 쓰는 방식이 구식 방식으로 그 잔재가 남아있는 것이었습니다.
반드시 새로운 방식을 따르도록 합시다.

참고로 EDrawDebugTrace::Type 처럼 구식 Enum 을 블루프린트에 노출하고 싶을 때는 TEnumAsByte<TEnum> 을 사용하면 됩니다.

// 옛 프로퍼티
UPROPERTY()
TEnumAsByte<EThing::Type> MyProperty;

// 새 프로퍼티
UPROPERTY()
EThing MyProperty;

참고

profile
게임 클라이언트 프로그래머 취준생

0개의 댓글