PreferredInput does not update when gamepad is connected

UserInputService.PreferredInput is expected to update to Enum.PreferredInput.Gamepad when a gamepad is connected or interacted with according to the documentation.

However, when a physical gamepad is connected, PreferredInput does not immediately update to Gamepad. Instead, it only updates after the player interacts with the gamepad, such as pressing a button or moving a stick.

This means that simply plugging in or connecting a gamepad while the game is running does not trigger the PreferredInput change.

This behavior contradicts the documentation, which states that PreferredInput should update when a gamepad is connected or interacted with. Currently, it only updates after interaction, not on connection as documented.

Expected behavior

When a physical gamepad is connected, even before any interaction, UserInputService.PreferredInput should immediately update to Enum.UserInputType.Gamepad because the documentation says it reflects connected or most recently interacted input devices.

While the value does update correctly after interacting with the gamepad, such as pressing a button, it is expected to reflect the change at the moment the gamepad is connected, even before any input is given.

2 Likes

I’d also like to add that PreferredInput doesn’t update on mouse movement either — it only updates when mouse buttons are clicked (left, right, or middle).
This seems like another inconsistency, as ideally, even moving the mouse should be considered user interaction for determining preferred input.
For a system that’s supposed to reflect the currently used or active input method, this behavior feels incomplete.

Thanks for the bug report. This has been fixed now.

1 Like