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.