Search Issue Tracker
Found in [Package]
[Input System] Gamepad is not recognized when it is connected during splash screen
How to reproduce:
1. Open the user's attached project "NewInputTest.zip"
2. In File > Build Settings, make sure that Target Platform is set to Windows and Scenes/SampleScene is added to Scenes In Build
3. Build and Run
4. Right when the splash screen starts, connect the controller
Expected results: Xbox Controller appears under (on update) and Current gamepad, it is possible to move and look around the scene using joysticks
Actual results: Xbox Controller doesn't appear under (on update) and Current gamepad and its inputs are not registered
Reproducible with: 2020.3.1f1, 2020.3.10f1, 2021.1.9f1, 2021.2.0a18 (Input System 1.0.2, 1.1.0-pre.5)
Not reproducible with: 2019.4.27f1, 2020.3.0f1 (Input System 1.0.2, 1.1.0-pre.5)
Could not test with: 2018.4.35f1 as it requires outdated versions of Input System
- Tested with an Xbox One controller
- If the controller is connected before launching Player or after the splash screen, expected results can be observed
Not a regression, this scenario has apparently never worked for new Input System. The WM_DEVICECHANGE message, which triggers a refresh of connected devices, isn't handled while the logos are playing (and it never was). To repro the bug, your timing on connecting the device (which generates the WM_DEVICECHANGE) has to be just right: too early and device connection is processed during app initialization, but too late and message is dispatched after logo has ended.
Of course this is still a big problem. Although the timing window on the default Unity logo is small, most games will have at least a couple logos for the studio and publisher, providing a much larger window for the repro to occur.
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- GameObject.GetComponents returns the wrong number of components
- Modifying Rigidbody2D.position doesn't stop interpolation when called during the FixedUpdate callback.
- GUI button looks different from Editor in a Build
- Live Profiler Timeline keeps losing frame data while scrolling inside Profiler window
- Input.mouseScrollDelta.y is not correctly mapped to mouse wheel when running an iOS app on Apple Silicon Mac