What is a good way to create a dual camera split screen for a single player game? Like you'd see in darts

I’m using blueprints and would like to create something like this with a dual camera split screen (not multiplayer split screen). Player aims on the left screen, a third person view of the player is seen on the right. So far all i know about are render targets but surely that isn’t my only option? I would need to do some cropping etc. Can render targets be implemented in a full screen widget to achieve this perhaps?

image

Why yes they can! Now, you’ll want to work out how you’re going to directo your camera and handle your controls for your use case, but we can otherwise get a Render Target to the HUD using a single or multiple widgets.

so you already know how to make a render target, then we’ll want to go from this step to making a material:

Make a second one that you can use for our second camera position. We’ll need two in order to accomplish the goal. After you’ve created and saved two sets of Render Targets and Materials we’ll want 1 Widget to tie them together. Create a “User Widget” Blueprint and place upon it 1 Canvas and 2 Image widgets:

For this I set the positions manually, you may want to implement some logic for splitting the screen regardless of the screen/window size.

finally you’ll want to set your cameras up. It doesn’t use the player’s camera it instead uses a “SceneComponent2D”. For your 2 camera setup you’ll want 2 of these, each one set to the Render Target of your choice. It’s after this point we’ll want to perform the final step which would be to get this onto the screen. Create a HUD blueprint class and add your widget to the viewport:

In the end you should have a 2 camera setup. Now, there’s a few things i’ve glossed over, such as the debug information, it won’t be accessible in this configuration, so if you like to have messages on the screen, you’ll want to find an alternative, such as creating alternate debug actors, like the orange ball in the example image above.

Additionally, the mouse would have to be restricted to the frame presented so that your “Cursor” or representative of your cusor wouldn’t leave the playable area, I provided one below that I used to test this:

Nicely explained.

Do you have any tricks for the “real” camera? The widget is rendering over the viewport that has stuff rendered from the real camera connected to the player. Are you aware of any way to disable that in order to save time rendering the third view that is not even used?