Does AHUD also contains User Interface (MainWindow, Menus, Config Windows, Inventory etc...)?

Does AHUD also contains User Interface (MainWindow, Menus, Config Windows, Inventory etc…)?

AHUD is located inside APlayerController, but where is located Slate User Interface for my game?

Which class is used for managing Game UI?

For my RPG game.

As far as I’m aware, your Slate User Interface “widget” is spawned and maintained by your HUD. Have a look at this tutorial series for an introduction into Slate.

Interesting, so i should include Slate Widgets manually to my custom HUD class. Or may be there is another, more official way?
For example how to make different Cameras and different Scenes/Levels to be drawn in different widgets? What if i dont want to make fullscreen viewport, or i want to have multiple viewports?

If you want multiple viewports I assume you will have multiple players, in that case you would just have different player controllers for each player, and each player controller will have it’s own instance of a HUD and each HUD would create it’s own separate Slate Widget (each player “has a” Player Controller which “has a” HUD which “has a” Slate Widget).

Unfortunately, I haven’t looked into “split-screen” implementations like this, so I can’t be of much help. But I am quite sure it is possible in UE4.

I found SViewport, i think that can be used for multiple screens etc.

But the main question still is, where should i hold “Main Window” UI, which also will include different SViewports etc.

May be i should override UEngine class, or may be UGameEngine…

UPD: i think, i should override UGameViewportClient.

No, AHUD doesnt contains User Interface, i have to create UI class for my game myself.

  1. If i need per HUD specific user interface, I can create and hold SWidget inside my overrided AHUDs.

  2. If i need MainWindow UI for whole game, i can create my SMainWindow widget, override UGameViewportClient, and use UGameViewportClient->SetViewportOverlayWidget to setup my SMainWindow. After that, i can setup “Editor->Edit->Project Settings->Engine->General Settings->Default Classes->Game Viewport Client Class” with my overrided UGameViewportClient, officially.

Correct me if im wrong.