Help in understanding Enhanced Input. Getting unexpected results

Hi everyone,

I’ve recently started working with Enhanced Input and I’m planning to combine it with Gameplay Ability System.

I’m trying to understand the basics of Enhanced Input and I’m getting some results that are not what I would expect. I am using UE5 and have the same results testing it in C++ or Blueprints.

I have a basic Enhanced Input setup in which I can receive events in my Character class. I have a basic action and I am registered to logging this action to any Trigger Event that may happen (Started, Ongoing, Canceled, …)

Im testing the different trigger types some of them give me unexpected results:

Tap: “Input must be actuated then released within ‘Tap Release Time Threshold’ seconds to trigger”.
I set a Release Time Threshold of 0.5 seconds.

Case A: I hold the button for 1 second and get the following events:

  • Event Started: raised the moment the button is pressed.
  • Event Ongoing: raised every frame after ‘Started’ while the key is pressed.
  • Event Canceled: raised when I exceed the Release Time Threshold.

For Case A, this is 100% what I would expect to happen. Now let’s consider Case B.

Case B: I hold the button for 0.2 seconds and get the following events:

  • Event Started: raised the moment the button is pressed
  • Event Ongoing: raised every frame after ‘Started’ while the key is pressed
  • Event Canceled: raised when I release the button

I would expect a Triggered or Completed event to happen in case B, as the Trigger conditions have succesfully met (I tapped within the Time Release Threshold). From a programming point of view, reading only the events that I’m receiving, I cannot know wether the input was successful or not, as I got the same result in both cases (Started > Ongoing > Canceled).

I get similar results than this in other cases, like “Hold And Release” or “Released” triggers, from which I cannot receive a Triggered/Completed event either, getting a “Started > Ongoing > Canceled” cycle of events wether the conditions for the trigger are met or not.

Am I missing something here? Maybe something from my setup, or the events are expected to work this way?

Thanks in advance!

@Markitus18 were you able to find clarity on this?

@Kavan Nothing so far. I have paused the project for a while due to work-related stuff. I’ll keep you posted if I have any update

For anybody wondering, the issue detailed here happened in the Early Access version. In newer versions (current being 5.0.1) it works as expected.