Unity New Input System PerformInteractiveRebinding()

Does someone know why this code doesn’t actually rebind the controls?

[SerializeField] private InputActionReference jumpAction = null;
[SerializeField] private GameObject startRebindObject = null;
[SerializeField] private GameObject waitingForInputObject = null;

private InputActionRebindingExtensions.RebindingOperation rebindingOperation;

public void StartRebinding()
     {
         startRebindObject.SetActive(false);
         waitingForInputObject.SetActive(true);
         rebindingOperation = jumpAction.action.PerformInteractiveRebinding()
             .WithControlsExcluding("Mouse")
             .OnMatchWaitForAnother(0.1f)
             .OnComplete(operation => RebindComplete())
             .Start();
     }

private void RebindComplete()
     {
         ChangeUI();
         rebindingOperation.Dispose();
         startRebindObject.SetActive(true);
         waitingForInputObject.SetActive(false);
     }

It updates the UI just fine it also saves it between sessions (thanks to other parts of the code I didn’t post because they work), but it doesn’t actually change the bind. If I initially jump with “Space” and I change it so that I can jump with “O” it still jumps with “Space” and “O” still doesn’t do anything.

https://docs.unity3d.com/Packages/com.unity.inputsystem@1.1/api/UnityEngine.InputSystem.InputActionRebindingExtensions.html#UnityEngine_InputSystem_InputActionRebindingExtensions_PerformInteractiveRebinding_UnityEngine_InputSystem_InputAction_System_Int32_

states

InputAction|action|Action to perform rebinding on.”

as mandatory first parameter but the example doesn’t pass it.

Perhaps it’s implicitly passed as the first parameter based on the action it’s called upon depending on how "(.NET/C#) extension method"s work.

The remark there sounds like one is all set then.

I use Class InputActionRebindingExtensions.RebindingOperation | Input System | 1.1.1 from the OnComplete callback to actually assign a control to the action i started letting rebinding be performed upon.
Class InputActionRebindingExtensions.RebindingOperation | Input System | 1.1.1 is also a possibility.

Note: I received an Exception in 2020.2.something when calling Dispose on the operation passed into the callback.

Additionall, i’m not familiar with “anonymous function” “semantics” in C# but is not curly braces needed around the mapped code inside the OnComplete parameter? (ie. does x(a => c()) not need to be x(a => {c()})?)