KoreanFoodie's Study
언리얼 TSubClassOf 가 비어있을 때 본문
언리얼 TSubClassOf 가 비어있을 때
핵심 :
1. EditDefaultsOnly, EditAnywhere 등의 UPROPERTY 메타 태그를 잘 써보자
간혹 그럴 때가 있다. 위젯을 생성할 때, 블루프린트에 생성하고 싶은 BP 위젯을 넣어 코드에서 동적으로 생성하는 경우가.
UPROPERTY(BlueprintReadWrite, Category = Config)
TSubclassOf<class UMyWidget> MyWidgetClass;
보통은 위처럼 TSubclassOf 를 사용해서 위젯 블루프린트 클래스를 넣어주는데...
A -> B -> C ... 처럼 위젯의 hierarchy 구조가 있고, 내가 위의 TSubclassOf 세팅을 B 에서 했을 때, 최상위 부모 위젯인 A 에서는 MyWidgetClass 가 nullptr 인 이상한 경우가 있다.
그럴 때는 아래처럼 바꿔보자.
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = Config)
TSubclassOf<class UMyWidget> MyWidgetClass;
// or
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Config)
TSubclassOf<class UMyWidget> MyWidgetClass;
위처럼 바꾸고 에디터를 다시 키면, 마술처럼 MyWidgetClass 가 블루프린트에서 제대로 확인이 되는 상황이 만들어지곤 한다.
여름이었다.
'Game Dev > Unreal C++ : Dev Log' 카테고리의 다른 글
UTexture2D 타입 Get() 사용시 빌드 에러 (0) | 2024.07.26 |
---|---|
언리얼 ShaderCompiler 관련 오류 (Editor 실행 시) (0) | 2024.06.27 |
[언리얼] 타임 스탬프 찍기(TimeStamp, 시간 로그) (0) | 2024.02.23 |
[언리얼] 언리얼 UI 최적화 정리 (언리얼 공식 문서를 중심으로) (1) | 2024.02.06 |
[언리얼] 다음 틱에 특정 동작 수행시키기 (0) | 2023.11.14 |
Comments