UCLASS()
class PROJECTDOLL_API AProjectDollGameModeBase : public AGameModeBase
{
GENERATED_BODY()
public :
virtual void StartPlay() override;
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="ProjectDoll")
UUserWidget* CurrentWidget;
//TSubclassOf<Type> <- Type을 제한하는 구문
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="ProjectDoll")
TSubclassOf<UUserWidget> HUDWidget;
여기서 HUDWidget에 언리얼 에디터에서 BP로 만든 PlayerUI를 연결.
CurrentWidget은 CPP 파일에서 HUD Widget에 받아온 것을 Viewport에 넣어주는 역할
void AProjectDollGameModeBase::StartPlay() {
Super::StartPlay();
CurrentWidget = CreateWidget<UUserWidget>(GetWorld(), HUDWidget);
CurrentWidget->AddToViewport();
}