Better ways to implement a singleplayer splitscreen system?

Hi, so I’m making a singleplayer game similar to FTL but in 3D. The idea is that the game uses a split-screen layout: one side shows the player’s ship, the other side shows the enemy ship. Using the mouse cursor, the player can interact with their ship and then move the cursor to the enemy side to inspect their ship. Basically, the entire game relies heavily on cursor interaction between these two separate views.

I honestly thought Unreal Engine would have a more straightforward way of doing this. I tried UE’s built-in split screen system, but that didn’t work because it forces multiple players, and I don’t want multiple player controllers in a singleplayer game. So I ended up trying the SceneCapture + Render Target approach that I commonly see here.

After implementing that, a ton of problems started popping up. Render targets don’t scale dynamically with screen size, and going above setting the render target’s resolution above 1080p immediately becomes a performance hit. The resolution is fixed, and that already feels like a big limitation. On top of that, since the render targets are technically drawn in the UI layer, “Get Hit Result Under Cursor” node stops working. My 3D screen space widget components also disappear unless I switch them to world space. And there’s a really noticeable visual difference the render target version has blurrier visuals and weaker shadows compared to the “real” camera. It just doesn’t look good.

Another problem is different aspect ratios. If someone plays the game in a wider aspect ratio, the render target UI doesn’t adapt, so the whole layout breaks. All of this together makes the render target approach feel really fragile, but so far it’s the only Blueprint-friendly option I’ve found.

I have never used C++ but I don’t mind to work with it if it results in a proper solution, because this split screen is going to be a core part of the game so I want it to be as seamless and performant as possible. Ideally, I want to avoid relying on UMG to draw the camera views, and I still need full mouse-cursor functionality like hit results, hovering, and interactive components.

I did find a similar thread about this issue Single player split screen? - Development / Programming & Scripting - Epic Developer Community Forums, and for now I’m using a temporary workaround: whichever side the mouse is hovering over uses the real camera, and the other side uses the render target. So if the mouse is on the left, the left screen switches to the real camera and the right becomes a render target, and vice-versa. It’s the only way I’ve found so far that still lets me use cursor interactions using blueprints only.

But yeah, with all these limitations, I’m hoping someone knows a proper way to do singleplayer split screen without the render target issues and without forcing two player controllers. Any help or direction would be super appreciated. If you’re interested I’ve also made a more detailed video about this topic Why Is Split Screen in Unreal Engine So Complicated?

The easiest way to do that kind of split screen is…

just to not do it.

Place both of the ships on the screen centimeters apart and draw a line in the HUD between them.

You can even make two different background plates and texture them differently.

Now you’ll have to make some magic with the rockets to disappear for a few seconds and lasers to break just on the line but other than that it should have no other effect.

You can actually make your prototype without those visual breaks.

Hi! thanks for the fast reply.

I actually considered that approach early on, and it is definitely simpler to handle. But I decided to not go with it because it gets pretty hard to keep the illusion going once I start adding visuals to the game. Things like the background, clouds, fog, and other effects will all cut straight through the line and make it obvious that the two ships are actually right next to each other.

But it could be worth trying, since I haven’t tried it yet.