Quick answer: Unity Input System PlayerInput component not switching to gamepad when the player presses a button? Auto-Switch may be off, or scheme requirements include “Required” devices that are missing.

User plays with keyboard, picks up a controller, presses A. The UI prompts still show keyboard glyphs. Auto-switch didn’t trigger.

Auto-Switch Checkbox

PlayerInput component → Auto-Switch Control Scheme. Default off in newer versions. Enable it for single-player auto-detection.

Scheme Device Requirements

Each scheme lists required devices. “Required” means a scheme can’t activate without that device class connected. “Optional” allows fallback.

Multi-Player Caution

Auto-switch is single-player only. Multi-player needs PlayerInputManager with explicit join.

UI Glyphs

Subscribe to onControlsChanged to update glyphs when scheme switches. Single source of truth: scheme name → glyph set.

Verifying

Pressing keyboard then gamepad switches scheme automatically. Glyphs update on each switch.

“Auto-switch is an opt-in checkbox + scheme requirements that match.”

Test multiple controller types in the test suite — auto-switching has edge cases that only show in rapid back-and-forth.