Set Multiple Cameras as Active (Game Engine)?
I didn't write this script but it seems to work, and I think I understand how it works. Script credit
from bge import logic, render
camList = logic.getCurrentScene().cameras

cont = logic.getCurrentController()
own = cont.owner
cam1 = camList[own['cam1']]
cam2 = camList[own['cam2']]

width = render.getWindowWidth()
height = render.getWindowHeight()

cam1.setViewport(0, 0, int(width/2), height)
cam2.setViewport(int(width/2), 0, width, height)

cam1.useViewport = True
cam2.useViewport = True

Now the object that's running this is a cube, and it's logic looks like this:

Notice the two string properties! These define the cameras that will be used. you can see them called in lines 6 &amp; 7. Basically, the script designates the Viewport area of each camera to half the width of the screen, which is perfect for split screen while playing a game with a  friend... Like, a really close friend, cause you'll probably have to share a chair. :)
DISCLAIMER!!!: I did not write the script included in this answer