some Input helper methods behave inconsistently

ApplyBindingOverride

this either sets the path instead of the overridePath

or

__GetBindingDisplayString (__InputBinding.DisplayStringOptions.IgnoreBindingOverrides**)**

does still output the overridePath

GetBindingDisplayString (InputBinding.DisplayStringOptions.DontUseShortDisplayNames)

outputs different strings depending on used in conjunction with InputBinding.DisplayStringOptions.IgnoreBindingOverrides or not and the overridePath is null; expected I did the same shortDisplayName in both cases

GetBindingDisplayString (InputBinding.DisplayStringOptions.DontOmitDevice & InputBinding.DisplayStringOptions.DontUseShortDisplayNames)

is streamlined in the wrong way that for left stick and button south it neither outputs the layout nor an expected verbose name

perhaps I should have labelled this thread a “bug” rather than “feedback”.

This is currently some sort of “blocker” for me.

Do you have an ETA for a fix of this bug or know a workaround?

The following code is what I use:

// save overridePath from PerformInteractiveRebinding() completion
private void completeControl(InputActionRebindingExtensions.RebindingOperation rO)
        {
            if(rO.selectedControl != null)
            {
                aIdWaitingToGetCompleted.action.ApplyBindingOverride(rO.selectedControl.path);
                PlayerPrefs.SetString(aIdWaitingToGetCompleted.action.name, aIdWaitingToGetCompleted.action.bindings[0].overridePath);    // the overridePath
                PlayerPrefs.Save();
            }
        }


// apply override, use existing path if no override found

iA_rotate.ApplyBindingOverride(PlayerPrefs.GetString(iA_rotate.name, iA_rotate.bindings[0].path));


// output path

action.bindings[0].ToDisplayString(InputBinding.DisplayStringOptions.DontOmitDevice & InputBinding.DisplayStringOptions.DontUseShortDisplayNames & InputBinding.DisplayStringOptions.IgnoreBindingOverrides);

And this path is the overridePath

GetBindingDisplayString

Debug.Log of path and overridePath shows above method is the bug.

My Workaround will be creating a display string myself from path.