I’m trying to do something that seems incredibly simple, but I’m running into problems and I don’t understand where it goes wrong.
Goal: I want to detect when the player presses down + jump.
- I made an Input Action for getting up/down on the left thumbstick,
IA_UpDown
IA_UpDown
is an Axis1D- I made an Chorded Input action,
IA_JumpDownPlatform
, that’s only supposed to fire whenIA_UpDown
is active + theGamepad Face Button Bottom
is pressed Gamepad Face Button Bottom
is also used for just jumping normally, triggeringIA_Jump
Setup:
Order of all Input Actions
- All input actions are set to consume lower priority input actions
Behavior I’m seeing:
- When I start the game, don’t move and press
Gamepad Face Button Bottom
, it correctly triggersIA_Jump
IA_UpDown
is not active since I didn’t touch the thumbstick
- However, if I move
Left Thumbstick
in any direction and let go - Press
Gamepad Face Button Bottom
to jump - The character now doesn’t jump, the
IA_Jump
action is not triggered - Instead,
IA_JumpDownPlatform
is triggered, even thoughIA_UpDown
is not active.
C++ to trigger:
So my questions are:
- How can
IA_JumpDownPlatform
still trigger whenIA_UpDown
is not active? - Why does the behavior change after moving
Left Thumbstick
? - Is this not the correct way to set up Chorded Actions?
- How can I correctly only trigger
IA_JumpDownPlatform
whenIA_UpDown
is active, and otherwise just triggerIA_Jump
?
These are some videos that explain how to set it up and I feel like I’ve done it correctly:
The official documentation doesn’t mention much, if anything, on how to do the setup:
Any help or insights are appreciated.