I’ve really been pulling my hair out over this, and so far haven’t been able to find a good answer. I’m hoping to get something definitive on the state of multi-gamepad input in the engine, currently using 4.7 preview 2.
Basically, right now, I have a blueprint that calls CreatePlayer four times and sets the player id to 0-3. This works correctly, it spawns four DefaultPawns at the PlayerStarts that I specify. I then go through each PlayerController and manually call Possess on its respective spawned pawn. Each pawn also implements its own input management for movement.
So that all works, they spawn correctly, but only player controller 0 receives input. No matter how many other Xbox gamepads I plug into my PC, none of the player controllers 1-3 can move at all. I only have gamepads set up in my input settings, no keyboard controls. Looking around at previous answers, it seems like this is something that should work. What am I missing? Is there something else I need to enable for multi-gamepad support?
I have exactly the same question. This seems to be an issue that just not been digged into. I have been trying to make this work since 2 weeks and I just can’t receive inputs from my gamepad for other player controllers. I’ve possibly tried every solution I found on the forums. This just won’t work.
For me it works. I create players with the CreatePlayer node. I get the pawn with GetControlledPawn and connect it to InPawn of a Possess node. The Target input of Possess is connected to a GetPlayerController node where I set my controller ID.
I can post some screenshots tomorrow, if you want. Some screenshots of your BP would be helpful too.
Hey thanks, for the reply. I got this figured out. I run “create players” in a forloop with the index value of 0 and 1 with “Spawn” checked on begin play, in my level blueprint. This spawns 2 playercontrollers and 2 player characters. I don’t even need to possess the created players. They automatically get possessed on begin play. I read somewhere about how inputs work, player0 = keyboard/gamepad1, player2=gamepad2 and so on. The keyboard and the first gamepad by default controls player0. So if you have 1keyboard and 1 gamepad connected, you will only receive input for player 0 and not the other players. The bottom line is, you need the same number of gamepads connected than the number of players.