I have a C++ project in UE5.4 which uses a custom CharacterController class using EnhancecdInput system.
It has an InputMappingContext and InputActions for it defined in the editor and added to the BP which extends the CharacterController C++ class.
In 5.4, I enabled a Run action with Left Shift
such that the player would keep running as long as you hold it down. I binded the event as shown below
PlayerEnhancedInputComponent->BindAction(Run, ETriggerEvent::Started, this, &ACharacterPlayerController::SetIsRunning);
PlayerEnhancedInputComponent->BindAction(Run, ETriggerEvent::Completed, this, &ACharacterPlayerController::SetIsRunning);
This worked as expected, where when Started happens, it fires with value true (I casted it to boolean using Value.Get()) and false when Completed happens.
However, in 5.5, Started doesn’t work because it fires with value false. I have to update it to Triggered to make it work but it keeps firing multiple times which is not needed.
Is this a bug or an intended change, and what could I do to make it work?
Let me know if additional information is required
UPDATES:
I noticed another weird thing wherein setting it as Triggered only works if I build solution from IDE (VS/Rider) but doesn’t work if I directly start the editor.