Quick answer: Define schemes with explicit Device Requirements. Enable Auto-Switch on PlayerInput, or call SwitchCurrentControlScheme(name, devices) on connect.

Player plugs in a controller mid-game. Sticks do nothing. Scheme dropdown still shows Keyboard&Mouse.

The Symptom

Bindings exist for both schemes; only one fires. Disconnecting K&M and reconnecting gamepad finally activates Gamepad scheme.

The Fix

InputActions asset → Control Schemes:
  Keyboard&Mouse
    Requirements: Required Keyboard, Required Mouse
  Gamepad
    Requirements: Required Gamepad

PlayerInput component:
  Behavior:               Send Messages
  Auto-Switch:            true     // switches on input
  Default Scheme:         Keyboard&Mouse

// Manual switch (when needed):
playerInput.SwitchCurrentControlScheme("Gamepad", Gamepad.current);

Auto-Switch listens for any input on devices satisfying another scheme’s requirements and swaps. Manual call is for cases like in-menu opt-in.

Verifying

Press a key: K&M scheme. Move stick: switches to Gamepad. Subscribe onControlsChanged to react (UI prompt swaps icons).

“Requirements. Auto-Switch. Schemes follow input.”

Related Issues

For composite binding, see composite. For action during load, see action load.

Auto-Switch on. Schemes follow input.