"Consume input" doesn't work (the input still propagates everywhere)

Imagine I have 2 sets of controls:

  • IMC_Default (Priority 0) to move around with WASD
  • IMC_Backpack (Priority 1) to move between backpack slots, also with WASD
  • if priorities are equal, the one added last gets to the hardware input first

When I open my backpack and WASD inside it, I’d rather not walk off the cliff, so I add a new Mapping Context with higher priority, so it can intercept Actions associated with keys:

Think with mapping contexts - abstracted layers of input. It’s not the Input Actions that get priority anymore, its the mapping contexts. The Input Action can be, optionally, consumed within that context:

Now I’ll walk off the cliff even with the backback open; it’s not consumed and the IMC_Default (Priority 0) will also detect W being pressed.


I’ve been using this system only for a week, if someone tries to correct me on the above, they’re probably right…

2 Likes