How Do I Combine Controllers?

Unreal actually has a fairly easy way to do this. Since PlayerControllers control a specific Pawn (which is a parent of both Character and WheeledVehicle), you can easily swap between the character and vehicle by calling Possess on the Controller, with the Pawn you want to control as the target. Like so:

238069-possessing-pawns.png

You can also track whether you’re driving or not in the Controller with a simple Boolean variable that you update when you switch between player and vehicle. With this variable, you can use Branch nodes to handle different behavior, like so:

I hope this helps!