Enhanced Input Bug

UE-5.5
Binding enhanced input action events with the Started enum will call the bound function with an FInputActionValue(false).

void UMeleeView::SetupInputComponent(UEnhancedInputComponent* InputComponent)
{
    MeleeStartedBinding = &InputComponent->BindAction(MeleeAction, ETriggerEvent::Started, this, &ThisClass::InputMelee);
	
    MeleeCompletedBinding = &InputComponent->BindAction(MeleeAction, ETriggerEvent::Completed, this, &ThisClass::InputMelee);
	
}

void UMeleeView::InputMelee(const FInputActionValue& Value)
{
    bool bWantsMelee = Value.Get<bool>(); // <- this is ALWAYS false
}

So the Started and Completed binds both lead to the InputMelee function being called with a false value for the Value argument.

The workaround for now is to switch to ETriggerEvent::Triggered which does correctly return true if the function is called from the Triggered event and false if called from Completed event but the annoying thing about Triggered is it will get called multiple times for a single key press, unlike Started.

Would really love this fixed.

Add “Pressed” trigger to input action and event will get called only once.