How To Receive Inputs From 2 Controllers?

This may seem like an extremely simple problem, but it’s been holding back my project for a few weeks now.

I’m making a Paper2D game, and all I want is to implement local two player multiplayer. No splitscreen, just two characters on the screen, each controlled by their own player controllers. However, my actors are never able to receive inputs from more than 1 controller, with one remaining still while the other is able to move.

Receiving inputs from more than one controller doesn’t seem to be an issue for anyone else, so I’m hoping there’s some easy and obvious method I’ve just overlooked.

Edit: This is getting tremendously frustrating. I have a game idea who’s foundation lies in local multiplayer, and I can’t really continue developing it until I get this worked out.

i never try but i think for 2nd character you must enable input from 2nd controller.

Any specific way to do that? “Possess” doesn’t seem to work for me, nor does “Auto Receive Input.”

try to use SetInput

In Blueprints, the only similar item I could find to that was “Set Input Mode Game Only,” and that didn’t work either.

I think the issue may be lie where the game detects player controllers. I tried another setup where I added “Enable Input,” tied to Player Controller 2, and “Disable Input,” tied to Player Controllers 0 and 1. It just disabled all inputs, until I removed the “Disable Input,” where it would only receive inputs from my keyboard (Player 0/1).

I think it’s just ignores my specification of player controller.

oh found this one https://answers.unrealengine.com/questions/56847/how-do-you-test-player-2-inputs-in-a-local-2-playe.html

check this

So you must create Player then assign to each pawn.

That didn’t work, either. : (

I appreciate all the help, though. I really think the main issue is that Unreal just won’t detect more than one controller.

I’ll keep that in mind if I have to use it, but that doesn’t really help with my problem of Unreal not detecting more than 1 controller.

yes it does: use the CreatePlayer Blueprint node to spawn the second player. then the second wired Xbox controller will be able to control the second player.

Depending on how I wire the “CreatePlayer” nodes together, I can get the second controller to control the second character, but then the first character loses the first controller.

I’ve created about a dozen different wiring’s of “CreatePlayer”, “Possess”, “SpawnActor”, and “Enable Input”, but I’ve never been able to get two controllers to control two characters at once.

you don’t need posses, spawn, or enable input. you just need a single CreatePlayer node, that will make the GameViewportClient spawn the pawn, playercontroller, PlayerInput, HUD and handle possession for you.

I have met the same problem .
I have to playercontroller one control by wasd another one is control by direction key.
I use creat player funtion in my gamemode blueprint.
but seems the second player dosen’t receive any input event.

create 2nd player controller and spawn 2nd Player Pawn and Posses

To create multiple players in a local game, you really need to utilize the “Create Player” node. This will create separate player controllers for each local player, and enable the use of separate controllers.

The following video goes into the specifics of setting up the system, and I am currently using this method on my own project with success.

Blueprint Implementing Local Multiplayer | Live Training | Unreal Engine

I have to player controller one control by wasn’t another one is control by direction key. To create multiple players in a local game, you really need to utilize the “Create Player” node.

You can also check some guides on usersadvice