How do I control a second player with a gamepad?

You shouldn’t have to, you can simply add the branching if check before the input commands. The player controller check can be called from both the player controller and the player pawn/character without any trouble so it shouldn’t make a significant difference which you are using.