Unreal TIL 11일차 - TSubClassOf<>

yys·2026년 3월 11일

TIL

목록 보기
10/77

오늘 개인적으로 위젯 블루프린트 클래스를 할당하는 과정에서 TSubClassOf<>를 사용했는데, 다른 포인터와 달리 어떠한 특징이 있는지 살펴보았다.

TSubClassOf<>


TSubClassOf는 클래스 정보의 타입 안정성을 보장하기 위해 나온 템플릿 클래스이다.

우리가 일반적으로 선언하는 포인터와 달리, 이는 클래스 자체를 가리키는 특징을 지닌다.

UInv_HUDWidget * Widget; --> 이미 메모리에 있는 인스턴스를 가리킴

UClass* Widget --> 클래스 자체를 가리킴

TSubClassOf<UInv_HUDWidget> Widget --> 클래스 자체를 가리킴

이때 두, 세번째 코드의 경우 블루프린트 클래스도 미리 에디터에서 넣을 수 있지만 두 번째는 다음과 같은 결함이 있다.

위 이미지를 살펴보면, UObject를 상속하는 모든 클래스의 항목이 다 보여진다.
이를 방지하기 위해 나온 것이 TSubClassOf<>이고, 세 번재 코드처럼 작성하면 UInv_HUDWidget 클래스나 이를 상속하는 클래스만 항목에 뜨게 된다.

그냥 검색으로 찾으면 되는거 아닌가? 싶지만 블루프린트는 프로그래머 뿐만 아니라 디자이너도 사용할 수 있는 툴이다 보니, 가급적 클래스 타입을 지정받아야 할 때는 TSubClassOf<>를 선언하는 것이 좋은 것 같다.

profile
게임 개발 지망생

0개의 댓글