Playercontroller[0+1] cant receive any (gamepad/keyboard) input

I found this out while trying to find a solution for this on answerhub, and see that there is no solution to this, to neither of the gamepad or the keyboard question, as its obviously a bug.

Only the first Player Controller can receive input, wether its from a gamepad OR from keyboard.

My question is, will it be fixed for Unreal Engine 4.7?

Right now, I am unable to access more than one gamepad, because the input is all bount to player controller one, and to that, I have to use a “inputmanager” blueprint, what is in fact playercontroller[0], and just casts the different player blueprints to forward input.

This bug is not only critical to me, but to many other people, I hope EPIC understands this, and also its a critical thing for my multiplayer and splitscreen racing game.

I am sorry to come up with this but: What are player controllers good for, if they cant receive any input from gamepads or keyboard?!

The problem is real.

Thanks.

Hey -

In the Project Settings menu you can select the Input option under the Engine heading. Here you can set axis mappings (for movement) and action mappings (for events such as “jump” or "shoot) for different keyboard and controller inputs. Then in the character blueprint you can call each of these mappings as events by right clicking and typing in the name. The functionality setup in the character blueprint will then be executed when any player presses the corresponding button. If you open the “MyCharacter” blueprint in the default Third Person Blueprint project you can see how the mappings for “MoveRight”, “MoveFoward” and “Jump” correspond to the axis and action mappings in the project settings.

Cheers

Im sry, but I know what you mean. I dont know how to distinguish between several gamepads + I dont know why other player controllers cant access keyboard keys. that was my question.

I’m not sure what you mean by distinguishing between gamepads, each gamepad should be associated with a different player when turned on. Could you elaborate on what behavior you’re seeing when you use them?

As far as setting up multiple players on a single keyboard it would depend on how your movement controls are setup. If you are using the player controller then you would want to add a “Get Player Character” node and set the player index to the appropriate player. Connect the return value to an “Add movement Input” node to control movement for that particular player. This way you can set the action for MoveForward_0 to player index 0 (player one) and MoveForward_1 to player index 1 (player two) and so on.

I dont understand why you answered this question as resolved when its not… I really dont understand how to do what you told me.

The nodes to get input just say gamepad, how can I get the input from gamepad2 and not gamepad1?

Its not about movement input, whats used for adding movement to a pawn… I want to know how to setup BP so I can get the input of the second gamepad, for ALL his actions on the gamepad. also theres another bug which says right now ue4 is unable to distinguish gamepads, and only playercontroller 1 can get the input, thats like with the keyboard input…

It just doesnt make any sense at all, why player 2 or player 3 are not able to receive input from gamepads or keyboard events, but only player controller 1, like I said, this breaks the whole concept of player controllers for distinguishing between different input sources…

How to get the input (ALL EVENTS) from gamepad[x]+1 ?

In this first screenshot I’ve setup different input methods in the Project Settings menu. This allows me to use the mapping names rather than having to refer to a certain button for input.

Here is a portion of the MyCharacter Blueprint that shows how jumping and mouse controls are handled. In the case of the Jump action, notice that the event name matches the name I gave to the Action Mapping in Project Settings. This means that when either spacebar or the “gamepad face button bottom” (A on the controller) is pressed, the character will jump. This control scheme is true for all players/controllers. In the level blueprint I added an Event Begin Play node and wired it into a sequence node. I then wired three outputs from the sequence node into a Create Player node to create players 2, 3, and 4. With multiple controllers connected if you play in editor the first player will respond to the first player controller or to keyboard input (since keyboard input for other players has not been setup). Each of the other players will respond to their own controller input. For more on how the different controls are setup you can look at the MyCharacter blueprint in the Third Person Blueprints template project.

Additionally, the issue with only the first player receiving input from controllers was related to 4.6.0 and was fixed with the 4.6.1 hotfix.

I’m having some pretty big issues with trying to use 2 control inputs with one game, but I finally got that working. The problem now is that I have a special ‘mirror’ BP that has reflect properties, and also move properties by enabling and disabling input. I’m trying to be able to click on a gamepad face button to turn my mirror. I’m able to do that just fine when I do a click on mouse event. It appears to be working for the player 0 input, but not my 2nd player. I don’t know if I’m missing a proper cast. I also tried accessing it from the level BP. I’m stuck on getting multiple enabling and disabling of player inputs when passing through a collision box. Any help would be appreciated.