From ab8f84ffe409382253779fd78cc6a74c5af777d0 Mon Sep 17 00:00:00 2001 From: Sue Arkin <85237015+suearkinunity@users.noreply.github.com> Date: Wed, 25 Feb 2026 10:48:00 +0000 Subject: [PATCH 1/3] Update InputSettings.cs Updating ignorefocus --- .../com.unity.inputsystem/InputSystem/InputSettings.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Packages/com.unity.inputsystem/InputSystem/InputSettings.cs b/Packages/com.unity.inputsystem/InputSystem/InputSettings.cs index 4ebbe2bc07..e2849a982a 100644 --- a/Packages/com.unity.inputsystem/InputSystem/InputSettings.cs +++ b/Packages/com.unity.inputsystem/InputSystem/InputSettings.cs @@ -889,9 +889,13 @@ public enum BackgroundBehavior /// /// Ignore all changes in focus and leave devices untouched. This also disables focus checks in . + /// This mode doesn't disable devices when the application loses focus. It also doesn't reset or sync device state on focus changes. + /// As a result, input controls may retain a stale state after focus transitions. + /// For example, if a key is held when the application loses focus and released while unfocused, the Input System still reports that key as pressed + /// when the focus returns. This is the expected behavior, not a bug. + /// If you need a reliable state after focus changes, use ResetAndDisableNonBackgroundDevices (default) or ResetAndDisableAllDevices. /// - IgnoreFocus = 2, - } + IgnoreFocus = 2,} /// /// Determines how player focus is handled with respect to input when we are in play mode in the editor. From 1bbe0f9aaecacf47d78e2458c75b794196316397 Mon Sep 17 00:00:00 2001 From: Sue Arkin <85237015+suearkinunity@users.noreply.github.com> Date: Wed, 25 Feb 2026 10:54:20 +0000 Subject: [PATCH 2/3] Update InputSettings.cs Adding a remark about limitations --- .../InputSystem/InputSettings.cs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Packages/com.unity.inputsystem/InputSystem/InputSettings.cs b/Packages/com.unity.inputsystem/InputSystem/InputSettings.cs index e2849a982a..a2a5b3653c 100644 --- a/Packages/com.unity.inputsystem/InputSystem/InputSettings.cs +++ b/Packages/com.unity.inputsystem/InputSystem/InputSettings.cs @@ -855,6 +855,23 @@ public enum ScrollDeltaBehavior /// /// Determines how the applications behaves when running in the background. See . /// + /// + /// Limitations: + //// + /// Receiving input while the application is not in the foreground is platform and device-dependent, and should not be relied upon. + /// IgnoreFocus does not grant the ability to receive input in the background; it only prevents the Input System from resetting/disabling devices on focus changes. + /// + /// Specifically: + /// + /// Keyboard: InputSystem doesn't receive events while unfocused. + /// Even on platforms where OS-level hooks could technically capture background keyboard input, Unity doesn't forward it to the managed Input System. + /// + /// Mouse: Only receives events when the cursor is hovering over the application window. + /// + /// XR HMDs: May continue receiving tracking data while unfocused, depending on the XR runtime. + /// These devices report canRunInBackground == true and are the primary use case for ResetAndDisableNonBackgroundDevices, + /// which leaves them untouched while resetting everything else. + /// /// /// /// From 053df839a0476ef0e2f4b65e7283436e2fdcf0d6 Mon Sep 17 00:00:00 2001 From: Sue Arkin <85237015+suearkinunity@users.noreply.github.com> Date: Wed, 25 Feb 2026 12:25:09 +0000 Subject: [PATCH 3/3] Update Packages/com.unity.inputsystem/InputSystem/InputSettings.cs Co-authored-by: Morgan Hoarau <122548697+MorganHoarau@users.noreply.github.com> --- Packages/com.unity.inputsystem/InputSystem/InputSettings.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Packages/com.unity.inputsystem/InputSystem/InputSettings.cs b/Packages/com.unity.inputsystem/InputSystem/InputSettings.cs index a2a5b3653c..fe9308800d 100644 --- a/Packages/com.unity.inputsystem/InputSystem/InputSettings.cs +++ b/Packages/com.unity.inputsystem/InputSystem/InputSettings.cs @@ -912,7 +912,8 @@ public enum BackgroundBehavior /// when the focus returns. This is the expected behavior, not a bug. /// If you need a reliable state after focus changes, use ResetAndDisableNonBackgroundDevices (default) or ResetAndDisableAllDevices. /// - IgnoreFocus = 2,} + IgnoreFocus = 2, + } /// /// Determines how player focus is handled with respect to input when we are in play mode in the editor.