Local Multiplayer with two different PlayerController BPs

Backstory:
Hello! I’m starting a game project where I would like to have a two player local multiplayer game, where one player plays as the driver and the other player plays as the shooter. The control schemes should be different from each other, so I figured using two different PlayerController Blueprints (DriverController and ShooterController) would be the way to separate their controls, and have each controller possess two different pawns, but I can only seem to register one PlayerController Class in the Gamemode.

Primary question:
Is there a way to register and simultaneously use two working PlayerControllers of different class types?

Reasoning:
The reason I’d prefer to have the controller input management inside the separate PlayerController classes is because I’d like to have an AI be able to possess the player pawn in the event that there’s only one player in the room. The AI would possess the driver pawn, and let the real player be the shooter, or vice versa. This would suggest that I need to have the InputAction events located in a PlayerController so that the pawn doesn’t react to a PlayerController when possessed by an AI.