GameInput plugin wired behavior with DualSense gamepad

Hello [mention removed]​,

Sorry for the delay. I was able to reproduce this behavior locally in a project using a recent source build from the Main P4 stream, so the behavior is still present in UE 5.6 and later.

From my testing, the Xbox D-pad is handled as buttons by IGameInputDeviceProcessor and goes through EvaluateButtonStates, which sends the first press with bIsRepeat set to false. The DualSense D-pad is handled as a switch through EvaluateSwitchState, where the initial press is sent with bIsRepeat set to true. This value then propagates through the engine, so in InputKey the first actuation arrives as IE_Repeat instead of IE_Pressed.

This is inconsistent behavior and I consider it a bug. I will create a JIRA ticket to track it and share the details once it is filed.

In the meantime, you can continue using your current workaround.

Best,

Francisco