Hi,
I’m running into an input detection issue after migrating a project from UE 5.4.4 to UE 5.6, related to the InputDeviceSubsystem.
In my UI system, I rely on Set Mouse Cursor Position to ensure correct widget hover and focus behavior. This is intentional: all my focusable widgets depend on the cursor being positioned properly for hover states to work as expected.
This setup worked without any problem in UE 5.4.4.
Since upgrading to UE 5.6, calling Set Mouse Cursor Position causes Get Most Recently Used Input Device (and related hardware change events) to report Keyboard/Mouse, even when the player is actively using a gamepad and hasn’t touched the keyboard or mouse.
The mouse movement here is purely programmatic, only used for UI navigation. However, it is now treated as real mouse activity, which forces my input mode to switch from gamepad to keyboard/mouse. This breaks UI logic and input prompts.
What’s confusing is that this behavior simply didn’t happen in 5.4.4. The last used device stayed as gamepad unless the player actually pressed a keyboard or mouse input.
I want to clarify that:
-
I’m not using CommonUI
-
I don’t want to install additional plugins
-
Only default plugins from a standard UE project are enabled
So my questions are:
-
Is this an intended change or a regression in UE 5.6?
-
Is there a way to ignore artificial mouse movement when determining the most recently used input device?
-
Or is there a recommended way to handle UI hover/focus without removing
Set Mouse Cursor Position, since my UI system relies on it?
Any insight or workaround would be really appreciated.
Thanks!