如何把想要的Slate类型添加到视口上

我学习了Unreal Engine的C++一个月左右,有个问题不太明白:
我想要创建一个叫做GameManager的Actor,它有一个公共变量,我可以传入我想要添加的Slate类型,再在Begin中将其添加到视口上。但是!!众所周知,UClass以及TSubclassOf都只能传入以UObject为父类的类型,那我要怎么实现呢??求各位解答!

大概的思路,不知对不对,多包涵,一起学习:
【添加slate到视口代码】

void UWDBJNaturalItem::CreateNorthOffsetWidgetToScreen(UUserWidget* InWidget)
{
    if (InWidget==nullptr)
    {
        return;
    }
    FLevelEditorModule& LevelEditorModule = FModuleManager::GetModuleChecked<FLevelEditorModule>("LevelEditor");
    TSharedPtr<SLevelViewport> ActiveLevelViewport = LevelEditorModule.GetFirstActiveLevelViewport();

    ActiveLevelViewport->AddOverlayWidget(InWidget->TakeWidget());

}

参考一下