I am trying to have player controllers focus on a widget when they press on start as part of a process to join a running local multiplayer game.
Oddly enough when I pass through the controller that pressed on Start to be the one that gets focus it fails.
In player controller dispatch START button press event with an input that passes through a self reference.
Game mode blueprint, Bind event to start in the player controllers.
Running game. Player 1 is in play. Is using gamepad 1, on player controller id 1.
Player two presses start in gamepad 2 on player controller id 2.
Self reference is passed to Set Game mode game&ui so that the “on key down” events in the Widget get picked up.
Instead I need to give focus to controller ID 0 for player two who is actively using gamepad 2 and reports that he is in fact player controller id 2. For the next gamepad who presses start I need to set it controller id 1, and that works even though Player 1 is allready in game while using player controller 1.
WHen instead player 2 decides to use joypad 4 and therefor player controller id 4 I need to set the focus for player controller 2. Now if I press start on joypad 2 you’d think I have to set the focus to controller 1. Nope. It needs 4.
I can’t make heads or tails of when I need to feed what controller into the widget focus.
How can I get the correct controller here? see image.
I have 5 player controllers. 4 for gamepads and one for keyboard.
TO get 5 player controllers I used the method described here: https://answers.unrealengine.com/que…can-you-1.html
AFter creating players I use “set player controller ID” to seperate the keyboard from player 1
That gives me these controllers:
Display name ~ Controller ID ~ COntrollers Object name
Playercontroller-FFFF-1 ~ 1 ~ Playercontroller-FFFF-1_C_0
Playercontroller-FFFF-11 ~ 2 ~ Playercontroller-FFFF-1_C_1
Playercontroller-FFFF-12 ~ 3 ~ Playercontroller-FFFF-1_C_2
Playercontroller-FFFF-13 ~ 4 ~ Playercontroller-FFFF-1_c_3
Playercontroller-FFFF-14 ~ 0 ~ Playercontroller-FFFF-1_c_4 - keyboard player, id 0 allways is I think.
What I do in this image works.
I get the self reference the player controller passes through, I get it’s id and then assign a totally different controller. Yet when I do this the correct gamepad controls the UI.
Example Input switch on int 2. This is Playercontroller-FFFF-11 ~ 2 ~ Playercontroller-FFFF-1_C_1. Why the bleep does it need controller 0 to work.
This makes no sense.
As far as I know this should NOT work.