Search Issue Tracker
Won't Fix
Votes
8
Found in [Package]
Issue ID
1280203
Regression
No
[Input] Xbox Controller input not detected while Steamworks is running
Xbox One controller input not detected while Steamworks is running
1. What happened
Input from the Xbox One controller is not detected while the Steamworks API is in use. After shutting down Steam, the input is detectable again.
2. How we can reproduce it using the example you attached
Open Scenes/SampleScene and enter play mode while Steam is NOT running. Input from the joystick (Move) and right trigger (Shoot) will be detected and the console will print the current values of the input. Run Steam and enter play mode again. This time, input will not be detected and nothing will print in the console.
Easy Repro Steps:
- Switch build platform to PC, Mac and Linux and start Steam then enter play mode in the editor. Notice how fire (Mouse Left Click) prints to the log but RT (Right Trigger) on Xbox Controller doesn't
- Switch to an unsupported player (such as Xbox) to easily disable Steamworks then enter play mode, notice how Mouse Left Click and Controller RT both print 'Fire' in the Console Log
UPDATE: This isn't a Unity bug but instead is behavior from the Steam platform library. It impacts both the "old" and "new" Input systems.
For more detailed information, please see the discussion thread of the Steamworks issue on GitHub: https://github.com/rlabrecque/Steamworks.NET/issues/380
-
DanStreaman
Oct 19, 2020 23:16
Same problem here. This is a blocking issue and makes it impossible for us to use the new input system.
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Articulation Body with 'Revolute' Joint Type has erratic behavior when Upper Limit is set to above 360
- WebGL Player fails to render Scene when Terrain with Detail Mesh is added and WebGPU Graphics API is used
- Inconsistent errors are logged when different types are passed into the Query "Q<>" method in UIToolkit and the ancestor VisualElement is null
- Crash on GetMaterialPropertyByIndex when opening a specific Scene
- Discrepancies in the styling are present when using a TSS file instead of a USS file in custom EditorWindow
Resolution Note:
This issue comes from the Steam platform libraries when the app's Input isn't configured properly and isn't a bug in either Unity nor Steamworks.
According to Valve:
The problem is that when you initialize the Steamworks API, Steam probably doesn't know what kind of input you need. If you don't have an appID, it's giving you the desktop configuration, which defaults to disabling controller input or mapping it to keyboard and mouse. If you're using steam_appid.txt to specify your appID and have 480 in there, you're telling Steam that your application is SpaceWar, which actually has Steam Input mappings and controller input is redirected to Steam Input instead of XInput.
If you have a real Steam game, then you should make sure you're specifying that appID in steam_appid.txt, and then go to the Steam Input settings on the partner page for your app and select the "Generic Gamepad" template.
If you're just doing prototyping and don't have a Steam appID yet, you can put 1456390 in steam_appid.txt, which is an appID set up for game controller testing.