How to assign first gamepad for second player in local multiplayer [Unreal 5.3]?

How to assign gamepad for second player controller in local multiplayer [Unreal 5.3] ?

Keyboard and gamepad automatically assign to player controller 0, so I need at least two gamepads to control the second player.

Its a known and rumors said it would have been fixed in 5.3 but it did not

following does not work:

  • skip assigning gamepad to player 1 does not work
  • adding a delay after event begin seem to not work (a supposed workaround which i was reading about)
  • . . .

are you guys creating a child class of UGameViewportClient which overrides InputKey(…) and InputAxis(…) to reroute where certain inputs go ?

what is the workaround or what is a clean fix?

Not sure if that will help but i found that article yesterday about local multiplayer for using gamepad and that you need c++ to assign 1st gamepad to 2nd player.

It 2yrs ago so things might have change too in bp side nowadays.

1 Like

Hey there @Fabula! As Arodi mentioned this is a bit of a known issue, and as far as I’m aware that workaround mentioned still works, as I’ve recommended it to a number of users over the last year.

2 Likes

i asked a guy on yt (@joeychimney) and got following approach for blueprint:

"so this is kind of a complicated topic, but in short you can basically put in the scene all of your player start positions, and assign a tag to each one (1,2,3 etc.) then instead of having your primary pawn as your default pawn in project settings, you basically assign an actor that detects inputs, and waits for your controller to press a button, which will then prompt you to choose which player you want to select (using the tags you assigned to each player start). Then based on which option you select, it will spawn in that character, and then you use the possess node to give the player control of that character with the controller they are using.

there is a decent amount of stuff that goes into this, including blueprint interfaces. You would probably use the blueprint interface in the actor that detects inputs, and it would interface to the game mode in order to spawn the player that you want to play as."