게임 엔진/Unreal

[Unreal Editor] 프로퍼티에 플래그 조건으로 사용 여부 결정하기

niamdank 2023. 2. 17. 23:06

UPROPERTY의 meta 내부에 EditCondition = "" 으로 사용 여부를 결정할 수 있다.

 

UENUM()
enum class ETestEnum
{
	One,
	Two,
};

UPROPERTY(EditAnywhere)
ETestEnum TestType;

// TestType이 One일 때만 사용(편집 여부)
UPROPERTY(EditAnywhere, meta=(EditCondition="TestType == ETestEnum::One"))
float SizeNumber;

// TestType이 Two일 때만 사용(편집 여부)
UPROPERTY(EditAnywhere, meta=(EditCondition="TestType == ETestEnum::Two"))
FString SizeDescription;

 

추가로 EditConditionHides를 추가하면 해당 옵션이 아닐 경우 표시가 안 되게 된다.

UPROPERTY(EditAnywhere, meta=(EditCondition="TestType == ETestEnum::One", EditConditionHides))
float SizeNumber;

 

UPROPERTY EditCondition and CanEditChange · ben🌱ui (benui.ca)

 

UPROPERTY EditCondition and CanEditChange

How to make variables read-only or hidden, based on other variables.

benui.ca