Slate UI that always exists?

I want a UI always accessible but hidden unless the user presses escape, this should happen in any map and the way I have found to do it at the moment requires setting stuff in Entry map to have it load, but then if you change map, it won’t be used.

Can anyone guide me on where I should hook this in?

Thanks

You need to implement it to AGameMode which you set in project settings as defult game mode so it is used in every map

I’ve done it now but I have subclassed UEngine and on Init have done the following:

this->GameViewport->AddViewportWidgetContent(SNew(SWeakWidget).PossiblyNullContent(MainMenuWidget.ToSharedRef()));

Is there any disadvantage to doing it this way?