When you remove an axis mapping using a specific key it will remove all mappings even if they have separate scales.
The user found a fix that I verified that worked. In "InputSettings.cpp", which is found at "Engine/Source/Runtime/Engine/Private/UserInterface", RemoveAxisMapping() can be updated to compare Scale as well (see "CurrentRemoveAxisMapping.png" and "UpdatedRemoveAxisMapping.png" attached below).
Found in 4.22 CL#7053642
Reproduced in 4.24 CL#7206280
Repro Steps:
1. Create a new project.
2. Create a C++ pawn and set it as default in the game mode.
3. Go to Project Settings and create a new Axis Mapping with two entries that use the same key with different scales (see "AxisMappingExample.png" attached below).
4. In SetupPlayerInputComponent() in your custom pawn get the UInputSettings and remove one of the entries created in step 3 using an InputAxisKeyMapping struct.
5. Play the level and stop playing the level.
6. Observe in the Input Settings that both of the Entries are removed now.
Results:
Both of the entries in the AxisMapping are removed having different scales.
Expected:
One of the entries in the AxisMapping is removed due to having different scales.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-76794 in the post.
3 |
Component | UE - Gameplay |
---|---|
Affects Versions | 4.21.2, 4.24, 4.22.3 |
Created | Jun 26, 2019 |
---|---|
Resolved | Aug 5, 2019 |
Updated | Aug 5, 2019 |
5994 - projectgheist |