So my problem is like this. If I follow the tutorial and set the Enhanced Input Action on Started, I get a print of 0.0 instead of 1.0, 2.0, etc.
If I set it on Triggered I get a print of the correct value.
I can’t understand how it can get the right value for Triggered but not for Started.
The nodes connected to the Triggered pin of an IA are called for the duration of the input.
The nodes connected to the Started pin however are only called once when the input is triggered. For them to be triggered again, the button needs to be let go and pressed once more.
Ignore Below
Your action value starts from 0 as it’s a float value that’s supposed to increase as the input action keeps getting triggered until a certain point. So it’s expected for it to be 0 at the beginning of the trigger. It’s still increasing while the input keeps getting triggered, you’re just reading it’s initial value.
This absolutely should work as is and what we see is set up correctly.
The nodes connected to the Started pin however are only called once when the input is triggered. For them to be triggered again, the button needs to be let go.
Nah, you get the action value immediately. At least as of v5.3.
Really? I guess I misremembered that. Thanks for that! I’ll make sure to check for myself when I get to launch my PC.
But, wait… Aren’t action values dependent on the intensity of the input? How can it… how can it see the future Anyways I’ll make sure to check, there’s definitely a confusion going on for me. Maybe I mistake it for something different, weird.
If you can test it with something else than v5.3… because it definitely does work:
I am expecting a bug since I have no clue how to even reproduce this behaviour…
Aren’t action values dependent on the intensity of the input?
You might be thinking of Actuation Threshold which only matters for analogue input. For keyboard keys, it’s either 0 or 1 and then multiplied by a Scalar. It’s nifty, I’ve been using it since that one time I had it explained.
Hello, thank you very much for the answers.
I am using version 5.5.1.
What you are showing in your reply and the link to the other post is exactly what I saw in the tutorial.
My problem is that despite doing it like this and checking the blocks several times for mistakes I can’t understand why Started returns 0 for me instead of the scalar value.
I feel that I am missing something or a setting is making things not work properly.
Edit:
Same situation here when using the scroll wheel. It does not work if I link to Started, but works just fine if linked to Triggered.
Something along the lines of could not find target referring to the player controller and it was asking me to connect a target.
Now that I think about it I think mine said “Self” instead of “0” as value, maybe I used something wrong.
It’s definitely a bug or a wierd change they made, there have been a few other people asking about it.
Edit;
It may be possible for you to just add a pressed trigger and use triggered instead of started. Triggered would fire one time with the correct value, but none of the other pins will be useful.
Maybe this bug is related to this commit https://github.com/EpicGames/UnrealEngine/commit/4f82581569d0b7b16c80f7516e4c7aed42314a3f. If an action changes its state from “NONE” to “Triggered”, the TriggerEventInternal property is marked as ETriggerEventInternal::StartedAndTriggered. This commit will temporarily change the source trigger event to Started, and then GetActionValue will return 0, because the trigger event is not Triggered at this moment