Description

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

Steps to Reproduce

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.

Have Comments or More Details?

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

3
Login to Vote

Won't Fix
ComponentUE - Gameplay
Affects Versions4.21.24.244.22.3
CreatedJun 26, 2019
ResolvedAug 5, 2019
UpdatedAug 5, 2019