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.