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/5] 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/5] 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/5] 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.
From 05b4ce926747cc6385990b8d789ca902a9a729b4 Mon Sep 17 00:00:00 2001
From: JosepMariaPujol
Date: Thu, 26 Feb 2026 10:21:36 +0100
Subject: [PATCH 4/5] Formatting
---
.../InputSystem/InputSettings.cs | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/Packages/com.unity.inputsystem/InputSystem/InputSettings.cs b/Packages/com.unity.inputsystem/InputSystem/InputSettings.cs
index fe9308800d..e254ab9796 100644
--- a/Packages/com.unity.inputsystem/InputSystem/InputSettings.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/InputSettings.cs
@@ -858,18 +858,18 @@ public enum ScrollDeltaBehavior
///
/// Limitations:
////
- /// Receiving input while the application is not in the foreground is platform and device-dependent, and should not be relied upon.
+ /// 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.
+ /// 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,
+ ///
+ /// 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.
///
///
@@ -906,10 +906,10 @@ 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.
+ /// 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.
+ /// 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,
From 0e5c3a54764bbe5cd996f47e16453e093ad0d04a Mon Sep 17 00:00:00 2001
From: JosepMariaPujol
Date: Thu, 26 Feb 2026 10:34:24 +0100
Subject: [PATCH 5/5] Update InputSettings.cs
---
Packages/com.unity.inputsystem/InputSystem/InputSettings.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Packages/com.unity.inputsystem/InputSystem/InputSettings.cs b/Packages/com.unity.inputsystem/InputSystem/InputSettings.cs
index e254ab9796..c5a831df50 100644
--- a/Packages/com.unity.inputsystem/InputSystem/InputSettings.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/InputSettings.cs
@@ -857,7 +857,7 @@ public enum ScrollDeltaBehavior
///
///
/// 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.
///