Manipulating game viewports

What I am trying to achieve is to have different viewports on the same window that shows different point of view of my game. I do not want to use the automatic split screen mode and want to handle the viewports myself.

I have troubles understanding how the game window and viewport works in UE4. I’m not talking about the different views in the Editor, but in game.
From my understanding, the window and viewport are created in the UGameEngine::Init function. However while looking at the code, I got confused by all the “viewport” classes. Here’s what I found:

SWindow and SViewport are the classes that represents the native window and the viewport inside it needed for the Slate subsystem.

Then you see the following classes:
UGameViewportClient, FSceneViewport, FViewportFrame, FViewport, ISlateViewport and I’m missing a couple. Even when reading the code and the little documentation on these classes I do not understand what they do, how to use them and how to create them. Can anyone enlighten me ?

Thanks,