InputComponent bindings sometimes trigger twice

Hi,

we upgraded to 5.5.4 (from 5.4.3) recently and have encountered this bug since: When we bind a new IE_Pressed input to the InputComponent we sometimes receive the press callback twice if we hold for a very brief moment (about 0.3 seconds). We do not use the new EnchancedInput system. The bug can be observed after a system takes control of our inputs (like opening the console command).

So, the easy repro steps for us:

1) Bind Action

FInputActionBinding& actionBinding = GetInputComponent()->BindAction(“ButtonTop”, IE_Pressed, this, &UControlSchemeSystem::OnButtonTopPressed);

actionBinding.bConsumeInput = false;

actionBinding.bExecuteWhenPaused = true;

2) Open and close Console Command

3) Press button (and hold it 0.3 seconds).

We receive a callback as soon as the button is pressed, and another 0.3 seconds later.

Thanks!

Hello [mention removed]​,

Thank you for the detailed repro steps. I was able to reproduce this issue in UE 5.5 as described.

It appears this has been addressed in the upcoming 5.6 release. Building the engine from source using the Main stream (Perforce CL 41706997), I can confirm this issue no longer occurs following the same repro steps.

It’s not easy to pinpoint the exact change responsible for the fix but I found this change titled “Fixed doubled up OnPress events for the same keypress under some conditions”, which seems very relevant for this issue.

I would suggest either integrating this change into your current engine source, building from the 5.6 source code, or waiting for the upcoming launcher release of 5.6.

Please let me know if this information was helpful.

Best,

Francisco