What is the best approach of having viewport drawn next to slate UI?

Hello! I am trying to have my UI drawn next to the viewport rather than over the viewport. Think of Unreal Editor UI as an example. I figured out so far that you have to do a custom SViewport + other slate elements but I couldn’t really figure out the best way of doing it.

  1. One option would be to fake it with SImage and scene capture target. This is not ideally because of how Scene Capture works in Unreal.

  2. One would be to draw it as a copy of the main framebuffer, again, not ideally because that would induce a small latency between the real viewport and new one. This is important to me even if it is not human recognisable.

  3. Have the GameViewportClass handle it, but looking at the UGameEngine code related to the creation of the viewport, won’t it that override it under certain circumstances? Also, UGameEngine code cannot be overridden unless big chunks of it get copied over just for a small change. Seems unintuitive.

  4. Have a GameViewportClass handling it but every time a create viewport event is called, set the viewport widget to my custom one.

Thank you very much!