Steps to Reproduce

Here are some cases where chorded triggers may evaluate unexpectedly, reported by a user:

 

  1. IA has no triggers, IMC mapping contains both Chorded Action trigger and Pressed trigger: everything works fine here, no matter the order
  2. IA contains Pressed trigger, IMC has a single mapping for that action and contains Chorded Action trigger: everything works fine here too
  3. IA contains Pressed trigger, IMC has two mappings for an action and only the second mapping contains Chorded Action trigger: everything works fine here because bMappingTriggersApplied is set to 'true' while evaluating the second mapping and not overwritten by anything. This leads to a value contained in TriggerState after IMC mapping trigger evaluation being used for final state calculation (EnhancedPlayerInput.cpp:501 in the latest github build).
  4. IA contains Pressed trigger, IMC has two mappings for an action and only the first mapping contains Chorded Action trigger: doesn't work because bMappingTriggersApplied is first set to true while evaluating a mapping with Chorded Action but overwritten to false while evaluating the second mapping without a Chorded Action. This leads to the code ignoring the value contained in TriggerState and triggering even when Chorded Action condition is not satisfied.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-192422 in the post.

2
Login to Vote

Backlogged
ComponentUE - Gameplay - Input
Affects Versions5.15.25.3
CreatedAug 8, 2023
UpdatedAug 11, 2023