Search Issue Tracker

Won't Fix

Won't Fix in 1.6.X

Votes

1

Found in [Package]

1.6.1

Issue ID

ISXB-528

Regression

Yes

Controller input is ignored when Editor is not focused

Package: Input System

-

How to reproduce:
1. Open the “Editor_Focus_Controller_Bug“ project
2. Open the “Scene_Example_Warriors”
3. Enter Play Mode
4. Unfocus the Unity Editor
5. Use a controller to move around

Expected result: “Player_Warrior” moves
Actual result: “Player_Warrior” does not move

Reproduced with: 1.0.0 (2022.3.3f1), 1.1.0-pre.5 (2021.2.0a9, 2021.2.0b1, 2022.1.0a1), 1.6.1 (2021.2.17f1, 2022.3.3f1)
Not reproduced with: 1.0.0, 1.6.1 (2020.3.48f1, 2021.3.27f1)
Could not test with: 1.0.0 (2021.2.17f1) (Could not resolve scripting errors), 1.0.0 (2023.1.0f1, 2023.2.0a20) (Package not supported), 1.6.1 (2021.2.0a9, 2021.2.0b1) (Could not resolve Package errors), 1.6.1 (2023.1.0f1, 2023.2.0a20) (Could not resolve scripting errors)
Fixed in: 1.0.0, 1.6.1 (2021.3.18f1)

Reproduced on: Windows 11

Controller reproduced with: Xbox Wireless Controller (Bluetooth)
Controller not reproduced with: DualSense Wireless Controller (Bluetooth)

Notes:
1. Could not test with DualSense Wireless Controller with Input System package version 1.0.0 → Console would log that the device is detected, but it was unresponsive in Play Mode
2. Regressed Editor version could not be found → versions below 2021.2.0a9 throw “Internal build system error. Backend exited with code -1073741819”, full error can be found in internal comments
3. On some versions after 2021.3.27f1 the Xbox Wireless Controller works as expected but the DualSense Wireless Controller does not
4. In the 2021.3 stream while the Editor is out of focus the very first input of the Xbox Wireless Controller gets detected once, locks the input in the same direction, and becomes unresponsive

  1. Resolution Note:

    There are no fixes planned for this Bug

  2. Resolution Note (1.6.X):

    This is due to the native input backend we use for Microsoft controllers. The Microsoft recommend backend to use for Xbox input devices is Windows.Gaming.Input and as a security feature of the library; devices cannot be polled for input when the application window is not focused.

    If this is something that is critical to your workflow, you can force the backend API to be raw XInput (as it was in Unity versions prior to 2022) by setting UnityEditor.WindowsGamepadBackendHint to WindowsGamepadBackendHintXInput (remember to restart the editor to ensure the backend is correctly initialised). However, we cannot guarantee the XInput backend will continue to be supported indefinitely and cannot recommend using this backend going forward.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.