in short, when querying the IPlatformInputDeviceMapper (be it on C++ or blueprints), the first gamepad connected to the computer gets the same input device id as keyboard and mouse, further, when asking the input device subsystem for the hardware identifier, it only shows as keyboard and mouse and nothing else…
Is there a way to directly have access to all connected input device hardware and assign their input device ids by hand? the default unreal implementation clearly fails to do so properly.
You can test what I’m saying using this bit of blueprint code below:
I am encountering the same roadblock, did anyone find a solution to this? Is there any way to make Unreal Engine recognize the keyboard and mouse as a separate input platform?
If I connect the gamepad BEFORE launching the UE 5.3 editor, the node GetAllInputDevices will show the gamepad as the only device. If I disconnect the gamepad, it will still show the gamepad as the only device. If I connect the gamepad AFTER having launched the editor, it will show the keyboard. It always shows just 1 device.
How is it possible that all devices map to the same ID? I can’t believe that they failed to create a unique ID for each device. I must be doing something wrong. I also can’t believe that these tools don’t dynamically recognise that the gamepad has been disconnected. This is a game engine used by thousands of people. How is it possible that these fundamental features are basically broken?