The fix for this is to override the  FEnhancedActionKeyMapping::operator== to account for the deep copy that happens on modifiers instead of comparing addresses

Steps to Reproduce
  1. When rebuilding mapping contexts, a deep copy of each input mapping is done, which creates a whole new instance of the modifiers with a different addresses than the original.
  2. Later on when the mappings are compared for equality, their modifiers have different addresses and are treated as different even though its a direct copy of that mapping

Have Comments or More Details?

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

Login to Vote

ComponentUE - Gameplay - Input
Affects Versions5.05.1
Target Fix5.3
Fix Commit24566913
Main Commit24568174
CreatedNov 11, 2022
ResolvedMar 8, 2023
UpdatedApr 29, 2023