Cannot stop controller 2 and 3 from controlling player 1 in local multiplayer

Hi, I’ve been at this for several days now and haven’t been able to solve this issue:
I am trying to set up a shared-screen local coop with 3 controllers. No matter what I do, controllers 2 and 3 will always give input to player 1 in addition to the expected player (eg controller 2 always moves player 1 and player 2)

I’ve followed several tutorials and always have this same problem. Can anyone see anything wrong with this blueprint setup? Thanks in advance.

“Skip Assigning Gamepad to Player 1” is set to false although seems like this is known to not have any effect in unreal 5. There is no default pawn set in the gamemode. I have 3 player starts in this example.


The Thing with local Multiplayer is, that Unreal assigns the Input Devices according to the Player joining…

So… If you spawn them all in the same frame, the Engine fails this task…
Have a delay of at least 0.2 seconds between each spawn, to give the engine some time to sort the players out.

And you need to set the owner of the Spawned Character to be the controlling PlayerController…

A delay between each call of Create Local Player? I have tried this and get the same result. For testing I updated the node setup to below, and I see the Create Local Player node being called in 2-second increments, where player index starts at 0 and increases by 1 for each new call. I can confirm this visually in-game as well but see the same behavior.

Hi! Did you ever get to solve this?

We have run into a very similar problem on Xbox consoles where gaempads 3 and 4 control players 1 and 2 (which are already being controlled by gamepads 1 and 2 respectively). We have found that if we print the return value of Create Local Player, it shows as “none”. Did this happen to you?

Thanks!