El rebinding permite que el jugador cambie sus controles.

Ejemplo:

Saltar: Espacio
↓
Saltar: F

Interactive Rebinding

Una Input Action puede iniciar un rebinding interactivo.

Ejemplo básico:

jumpAction.action.PerformInteractiveRebinding()
    .OnComplete(operation =>
    {
        operation.Dispose();
        Debug.Log("Control cambiado");
    })
    .Start();

Deshabilitar durante el rebinding

Suele ser conveniente deshabilitar temporalmente la acción:

jumpAction.action.Disable();

Y volver a habilitarla al terminar:

jumpAction.action.Enable();

Guardar bindings

Los overrides de bindings pueden serializarse.

Conceptualmente:

string datos = actions.SaveBindingOverridesAsJson();

Restaurar:

actions.LoadBindingOverridesFromJson(datos);