Quick answer: Unity Input System GetBindingDisplayString returning English in localized builds? Display strings use the system locale; explicit locale override is required.

Game in French. Settings menu shows 'Spacebar' instead of 'Barre d'espace'.

Pass localized binding display options

action.GetBindingDisplayString(
  0,
  InputBinding.DisplayStringOptions.IgnoreBindingOverrides);

Use the Localization package; format strings per locale.

Or build a custom display map

Per-locale dictionary of key -> localized name. Display logic looks up; falls back to the engine value.

Verify per language

Test the rebind UI in each shipped language. Mismatches surface.

“Display strings are locale-dependent. Defaults are English.”

If you ship localized, audit input display strings. Per-locale review is part of the localization workflow.

Related reading