Press and Release triggers have a role to play as well. There are situations, such as RPG games, where you don't want to trigger combat actions on key press or key release with no hold duration and with no auto-repeat.
For those of you who still aren't aware or are unfamiliar with the input system: the 'Press' trigger instance determines whether the value has become actuated and previously was not actuated. If that requirement is satisfied, then it transitions the trigger state to Triggered from None (which is mapped to the StartedAndTriggered trigger event, which does not end up emitting 'Started'), otherwise it transitions from Triggered to None (which is mapped to Completed). The action event that gets emitted is either Triggered or Completed, accordingly. This is in contrast to Down, which only requires that the value is considered actuated to be considered Triggered (notably if it remains actuated it isn't technically considered "Ongoing"). Released checks whether the current value is actuated, in which case it is Ongoing from None or or Ongoing from Ongoing (and thus mapped to Started or Ongoing, respectively) or if neither of those, checks whether the last value was actuated (implicitly determines whether it stopped being Actuated) and goes from Ongoing to Triggered (and then from Triggered to Completed when neither of those cases are true).
For hold, do NOT put actuation threshold to the same thing. All it means is that it will activate once the threshold has been reached. Keyboard keys have one of 1, but analog sticks fluctuate. Set it over 1, and it will never happen
I'm running into an issue where I can't have more than one chorded action assigned to the same key. Example: LMB, LMB+Shift, LMB+Alt. Only LMB and LMB+Shift will work. LMB and LMB+Alt will fire at the same time. Have you ran into this?
Hi, I have thsi weird issue when I set my input trigger to Tap and call the value I get 0 but when I remove the Trigger Tap then I get a value like normal. UE_LOG(LogTemp, Warning, TEXT("Move Value: %f"), Value.Get());. Can you explain me why ? The input actions ar set do Axis1D (float)
Hello sorry to bother you with this but I'm trying to understand how to mix input overlay and trigger box with input key to overhaul my walk speed and sprint speed is there any recommendations?
I have been in search for Enhanced inputs information on priorities and switching mappings. For when you want different actions from same inputs in different situations.
You'd make different input mapping contexts for each situation, then you can use add/remove mapping context nodes where you want. Or use mappable configs which are just collections of contexts - one node to start using a certain config and then it overrides everything without having to think of what to add/remove.
@@peanut_games Cool that is what I've been thinking but like I said nothing but the general Epic info is out there. I asked a few other tutorial youtubers doing Enhanced inputs videos and they leaned toward using priorities to do it but gave no real details. To me it seems like one of the best use case examples of why enhanced inputs is so great.
@@MercGyver Yeah modularity is basically the whole point of enhanced input. I've played with priorities and they seem to simply always override the lower priority contexts, I guess you could have a base config and pile on additional contexts with higher priority that override the base actions without outright removing them. Depends how you want to do it and what's easier to wrap your head around. If it's a simple game with only driving and walking, it's probably less confusing to just have a 'walking' config and a 'driving' config. But if you have a complex game with like a dozen different small input modifications then adding overlapping higher priority contexts might be more efficient.
Could you make a video on custom triggers? They seem a bit daunting and I could find very little information about them (just the UE documentation). There might not be any particularly practical examples to use though since the basic ones covers a lot of ground. I could only think of a variant on "combo" that utilizes the action value of the previous action, if that would be achievable.
That's a good idea, I actually had to make one recently. Press + hold *in place* for a mobile asset. If your touch/mouse X/Y input exceeds the set deviance threshold before the time is up, the trigger will fail. In this case I did it to bind click/touch movement to press + hold in place and the 'failure' condition resulted in camera rotation. That way 2 actions could be bound to touch 1.
@peanut_games I realized there are "get " nodes, which already kinda does what I described, although less dynamic. Currently working on rotating an input vector to align with the camera in a trigger, since I could then avoid rotating the input value every time I want to access it. Edit: I feel incredibly stupid, that's supposed to be a modifier. Working with setting variables in the trigger blueprint from regular blueprints is kinda fun. It feels a little trippy xD
@@johanrojassoderman5590 Yeah, I had issues with those nodes so beware... As I try to recall what the issue was, I think it was that they don't apply modifiers or something. They get the raw value. If I'm remembering wrong, just a heads up they are potentially weird lol. Lol yes that's a default modifier :P, "To World Space", which should convert screen space to world space -- X is left/right on screen but forward/back in the world. Might have to add a negate in there too. Modifiers are applied in order as described if you hover over the Modifiers text, so if you negate Y before To World Space you'll get a different result than adding negate after it.
@@peanut_games Ah jeez, that makes it a whole lot easier xD Might still do my own since I want to only use the yaw rotation, but thanks a lot for the tips! Edit: seems to work perfectly well as a modifier, even with the "get" nodes.
@@peanut_games Another idea for a trigger could be making one with a built-in cooldown. Might be useful. Sorry for the copious amount of comments. I hope I'm not too much of a nuisance 😅 Got most of it out of my system now I think, lol.
There is no complete tutorial for connecting console xbox/PS4 controllers for UNREAL ENGINE 5 . It's as if the UNREAL ENGINE software devs never heard of XBOX and SONY . There should be templates for this.
Press and Release triggers have a role to play as well. There are situations, such as RPG games, where you don't want to trigger combat actions on key press or key release with no hold duration and with no auto-repeat.
For those of you who still aren't aware or are unfamiliar with the input system: the 'Press' trigger instance determines whether the value has become actuated and previously was not actuated. If that requirement is satisfied, then it transitions the trigger state to Triggered from None (which is mapped to the StartedAndTriggered trigger event, which does not end up emitting 'Started'), otherwise it transitions from Triggered to None (which is mapped to Completed). The action event that gets emitted is either Triggered or Completed, accordingly. This is in contrast to Down, which only requires that the value is considered actuated to be considered Triggered (notably if it remains actuated it isn't technically considered "Ongoing"). Released checks whether the current value is actuated, in which case it is Ongoing from None or or Ongoing from Ongoing (and thus mapped to Started or Ongoing, respectively) or if neither of those, checks whether the last value was actuated (implicitly determines whether it stopped being Actuated) and goes from Ongoing to Triggered (and then from Triggered to Completed when neither of those cases are true).
0:07 - Chorded Action
1:47 - Combo
3:46 - Hold
4:13 - Hold and Release
5:27 - Down
5:44 - Pulse
6:20 - Tap
7:05 - Others
This is exactly what I needed. Thank you for making this.
nice to see this at work, very useful.
For hold, do NOT put actuation threshold to the same thing. All it means is that it will activate once the threshold has been reached. Keyboard keys have one of 1, but analog sticks fluctuate. Set it over 1, and it will never happen
that makes sense, thanks
I'm running into an issue where I can't have more than one chorded action assigned to the same key. Example: LMB, LMB+Shift, LMB+Alt. Only LMB and LMB+Shift will work. LMB and LMB+Alt will fire at the same time. Have you ran into this?
Hi, I have thsi weird issue when I set my input trigger to Tap and call the value I get 0 but when I remove the Trigger Tap then I get a value like normal.
UE_LOG(LogTemp, Warning, TEXT("Move Value: %f"), Value.Get());. Can you explain me why ?
The input actions ar set do Axis1D (float)
Hello sorry to bother you with this but I'm trying to understand how to mix input overlay and trigger box with input key to overhaul my walk speed and sprint speed is there any recommendations?
Still looking for a Vid that shows me how to move like they are swimming.
what a kind tutorial! thanks!
I have been in search for Enhanced inputs information on priorities and switching mappings. For when you want different actions from same inputs in different situations.
You'd make different input mapping contexts for each situation, then you can use add/remove mapping context nodes where you want. Or use mappable configs which are just collections of contexts - one node to start using a certain config and then it overrides everything without having to think of what to add/remove.
@@peanut_games Cool that is what I've been thinking but like I said nothing but the general Epic info is out there. I asked a few other tutorial youtubers doing Enhanced inputs videos and they leaned toward using priorities to do it but gave no real details. To me it seems like one of the best use case examples of why enhanced inputs is so great.
@@MercGyver Yeah modularity is basically the whole point of enhanced input. I've played with priorities and they seem to simply always override the lower priority contexts, I guess you could have a base config and pile on additional contexts with higher priority that override the base actions without outright removing them. Depends how you want to do it and what's easier to wrap your head around. If it's a simple game with only driving and walking, it's probably less confusing to just have a 'walking' config and a 'driving' config. But if you have a complex game with like a dozen different small input modifications then adding overlapping higher priority contexts might be more efficient.
My issue is that I have a tap event and a double tap. i want to use the double tap with no overlap of the single tap.
Interesting issue, did you figure the double tap thing out?
@ yeah I did but at this point don’t remember what I did to solve it
@@aaronwatkins784 ah too bad, but thanks for responding!
Could you make a video on custom triggers? They seem a bit daunting and I could find very little information about them (just the UE documentation). There might not be any particularly practical examples to use though since the basic ones covers a lot of ground. I could only think of a variant on "combo" that utilizes the action value of the previous action, if that would be achievable.
That's a good idea, I actually had to make one recently. Press + hold *in place* for a mobile asset. If your touch/mouse X/Y input exceeds the set deviance threshold before the time is up, the trigger will fail. In this case I did it to bind click/touch movement to press + hold in place and the 'failure' condition resulted in camera rotation. That way 2 actions could be bound to touch 1.
@peanut_games I realized there are "get " nodes, which already kinda does what I described, although less dynamic.
Currently working on rotating an input vector to align with the camera in a trigger, since I could then avoid rotating the input value every time I want to access it. Edit: I feel incredibly stupid, that's supposed to be a modifier.
Working with setting variables in the trigger blueprint from regular blueprints is kinda fun. It feels a little trippy xD
@@johanrojassoderman5590 Yeah, I had issues with those nodes so beware... As I try to recall what the issue was, I think it was that they don't apply modifiers or something. They get the raw value. If I'm remembering wrong, just a heads up they are potentially weird lol.
Lol yes that's a default modifier :P, "To World Space", which should convert screen space to world space -- X is left/right on screen but forward/back in the world. Might have to add a negate in there too. Modifiers are applied in order as described if you hover over the Modifiers text, so if you negate Y before To World Space you'll get a different result than adding negate after it.
@@peanut_games Ah jeez, that makes it a whole lot easier xD
Might still do my own since I want to only use the yaw rotation, but thanks a lot for the tips!
Edit: seems to work perfectly well as a modifier, even with the "get" nodes.
@@peanut_games Another idea for a trigger could be making one with a built-in cooldown. Might be useful.
Sorry for the copious amount of comments. I hope I'm not too much of a nuisance 😅 Got most of it out of my system now I think, lol.
The Best!!
我 爱 你
There is no complete tutorial for connecting console xbox/PS4 controllers for UNREAL ENGINE 5 . It's as if the UNREAL ENGINE software devs never heard of XBOX and SONY . There should be templates for this.