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

Package: Input System

-

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

  1. 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.

Comments (11)

  1. Kaldrin

    Feb 11, 2024 13:35

    Same problem here, even with our actual appID Unity stops detecting the Xbox One controller even though Steam does detect it.

  2. sheetalk11

    May 02, 2023 09:08

    For WhatsApp Status Video Download visit on statusraja.in and remember this platform

  3. Ed-Gilmour

    Apr 20, 2023 02:29

    I can't see comments on this, and I'm trying to fix this. Annoying.

  4. pumpkinszwan

    Dec 08, 2022 02:14

    I have a solution that worked for me, and hopefully for future victims who find this bug report...

    In the Steam client, go to Settings > Controller Settings and enable the Generic Gamepad Configuration Support checkbox. Then you might need to turn your controller off and back on to get Unity to recognise it.

  5. leegod

    Dec 04, 2022 02:09

    same problem. how to solve?

  6. dpuza

    Jul 12, 2022 03:41

    I've specified my real appID (which has the Generic Gamepad template published on the partner page) in steam_appid.txt.

    Doesn't work.

    1456390 doesn't work either.

  7. Vaupell

    Apr 07, 2022 15:01

    what a joke..

  8. KYL3R

    Mar 03, 2022 15:33

    For me, using my app_id instead of 480 (spacewar) worked. Though I'd like to add that I got this error:
    GER: "<RI.Hid> Failed to get preparsed data: Der Vorgang wurde erfolgreich beendet."
    EN: "<RI.Hid> Failed to get preparsed data: The operation completed successfully."

    Changing app_id and restarting Unity fixed that for me.

    Posted my finding here as well:
    https://forum.unity.com/threads/ri-hid-failed-to-get-preparsed-data.173415/page-2#post-7939027

  9. bthomas2622

    Nov 19, 2020 18:47

    Experiencing same issue, whenever steam xbox one controller config is enabled my game with new unity input system does not register input from controller. Any word on a fix?

  10. ConnorW92

    Nov 17, 2020 11:54

    If, like me, you're using the Spacewar Steam app id while developing, it looks like it's due to the Steam Input configuration for that app id.

    I managed to get input to work properly again by setting Steam Input Per-Game Setting to Forced Off in Steam and then restarting the Unity editor.

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.