OK so the feature I’m requesting is when I do a “Create Player” and my screen gets split. I can use my keyboard to control Player 1 and my gamepad to control Player 2. I know that right now UE4 has the option to control P2 with a 2nd gamepad but I would think it would help folks like myself with just 1 gamepad (I have no console).
If this feature can be achieved via blueprint let me know so I can stop day dreaming
Go to Play -> Advanced Settings -> Set ‘Number of Players’ to 2 -> Check ‘Route 1st Gamepad to 2nd Client’.
Does that work?
If it does then they should really move it under Project Settings -> Input.
Edit: Another user said it only works for separate windows, my bad.
Edit2: Definitely agree with what you said below. Really surprised they don’t already allow this seeing as how getting the controllers right should come before anything else.
as I understand, right now when you do local multiplayer, player 1 will always be controlled by Gamepad1 and Keyboard / Mouse. This means, to use local coop, you effectivly need 2 Gamepads. I don’t think that this really is practical at all, since a lot of people don’t have two gamepads for their PCs. From a players point of view, it seems to be reasonable to assume, that for local coop, you could use your keyboard for one player and your gamepad for another player. Also, a lot of games allow for local coop, where both players use the same keyboard (wasd) vs arrow keys.
It would be great, if you guys could add this feature.
I agree that it should be possible to switch at runtime which player can use which gamepad and thus allow a combination of keyboard and gamepad for two players. I can’t force my customers to get 2 gamepads for local splitscreen coop. They will probably thinking ill of me.
I among others would agree that this feature would be very beneficial to the development as sometimes you don’t have access to multiple gamepads when you want to test out local multiplayer functionality.
I think the feature just isn’t there (user friendly version). On my end I checked answer hub, documentation and forums and had no luck. The only was apparently is to edit code or add code. I have 0 C++ knowledge. So having it in the engine via settings or something would be cool to have.
Unfortunately, the only way to do the keyboard/controller split right now is via C++ code. It’s a bit hacky, but it works for now. I think my instructions are possible to follow with even just minimal C++ coding experience.
I do agree that it should be a default feature. The way I could see a “proper” implementation is:
If the game detects more players than gamepads, the keyboard/mouse is mapped to player 0, and the first controller is mapped to player 1, the second to player two, etc. This behavior could potentially be enabled or disabled by a checkbox, if someone really likes it the current way
If the game detects gamepads >= num players, then it’s the current behavior where the keyboard/mouse and the first controller is player 0, the second controller is player 1, etc.
Unfortunately, as far as I can tell the engine currently does not have a way of querying the number of gamepads connected, and each platform handles gamepad detection separately. So it would take a bit of work to get it working, though I don’t think it would be that hard. If I have time, I’ll take a shot at making this change and putting a pull request to get the feature added to the engine, but it’s going to be a little while before I can get to it.