Setting up Chorded Input Actions

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 when IA_UpDown is active + the Gamepad Face Button Bottom is pressed
  • Gamepad Face Button Bottom is also used for just jumping normally, triggering IA_Jump

Setup:



Order of all Input Actions


image

  • 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 triggers IA_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 though IA_UpDown is not active.


C++ to trigger:



So my questions are:


  1. How can IA_JumpDownPlatform still trigger when IA_UpDown is not active?
  2. Why does the behavior change after moving Left Thumbstick?
  3. Is this not the correct way to set up Chorded Actions?
  4. How can I correctly only trigger IA_JumpDownPlatform when IA_UpDown is active, and otherwise just trigger IA_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.