SteamVR Update - No Controllers in Unity games - Error: "Bindings for unity.exe was not set."

I just updated and installed SteamVR beta 1527541104, Now when I launch a Unity game I get a message screen error: “Bindings for Unity.exe was not set. Please select a binding option.”

And no controllers ever appear in the running Unity game.

This has affected every single project I have been working on, and at this point I have completely lost the ability to develop anything with Unity. I have absolutely no clue where to begin to solve the issue other than downgrading SteamVR, which I do not wish to recommend to my customers.

2 Likes

I solved by updating SteamVR from asset store and VRTK from github, which introduced a lot of small issues that I have been addressing all day but the controller bindings message no longer appears.

At present all of my previous projects are still affected and unusable until I repeat this detailed update process for each one :frowning:

Nevermind, it’s back, all games are affected and I can’t do anything. All development halted and totally stuck.

1 Like

Hi, I’m having the same error. Did you manage to find a fix?

Yes, my solution: stop using SteamVR beta!!!

I always got that error whenever I had any Vive trackers connected and using SteamVR beta. Once I reverted to SteamVR RC I have yet to see that weird bindings configuration screen, and I hope to never see it again!

I have an update to your question ever since the latest SteamVR now completely breaks Unity + VRTK + Trackers.

If you locate the file “Assets\SteamVR\Scripts\ SteamVR_ControllerManager.cs”

Then find the OnEnable() function and change it (add a coroutine and a wait time) like so:

    void OnEnable()
    {
        StartCoroutine (OnEnableRoutine());
    }

    IEnumerator OnEnableRoutine()//ADD THIS COROUTINE FOR LEGACY BINDINGS WORKAROUND.
    {
        yield return new WaitForSeconds (0.5f);//THIS PAUSE MUST BE ADDED OR ELSE LEGACY BINDINGS MIGHT INTERFERE WITH CONTROLLERS GETTING INITIALIZED.

        for (int i = 0; i < objects.Length; i++)
        {
            var obj = objects[i];
            if (obj != null)
                obj.SetActive(false);

            indices[i] = OpenVR.k_unTrackedDeviceIndexInvalid;
        }

        Refresh();

        for (int i = 0; i < SteamVR.connected.Length; i++)
            if (SteamVR.connected[i])
                OnDeviceConnected(i, true);

        inputFocusAction.enabled = true;
        deviceConnectedAction.enabled = true;
        trackedDeviceRoleChangedAction.enabled = true;
    }

Now the controllers and trackers should be working with VRTK.

The annoying Legacy Bindings menu still appears when the game starts, but as long as it doesn’t break my controllers completely I’m okay with it.

I have it working now!
Thanks so much!

1 Like

Greetings, I’m facing the same problem, I tried the pause fix however the menu still keeps popping up. I’m testing an application that uses the trackers only. Because of this every time I run my scene I need to turn on a controller, close the “Bindings for Unity.exe was not set” dialog and turn off the controller.

Hey. Did you find a workaround for a project that uses trackers only? I’m having to do the same thing every time I test. Turn on a controller and close the pop up.

I have the same problem exactly… :frowning:
Solution?? Anyone??

This worked for me! Thank you Trappist!

A few days ago I got a VRTK project working in Unity, then later that night installed LIV and one of the things LIV does is it installs some virtual trackers into the SteamVR environment. Today when I tried to run that same VRTK project this error appeared and my controllers didnt show up!?! I’m not 100% sure why this is but its probably due to the LIV virtual trackers and this small change in the SteamVR code fixed it exactly as described.

Edit: I was not using SteamVR Beta. In Unity I was using SteamVR v1.2.3

1 Like

Bump. Our game uses trackers only as well, and we get this same issue as of the latest SteamVR version.

I can not solve it like in the answer above, in the version of SteamVR i have there is no ControllerManager

Just in case, i just solved it by uninstalling a previously setup LIV virtual camera.

For me, the issue was that SteamVR was setting my plugged in Xbox 360 Controller as the default input device. I solved it by unplugging the Xbox controller.

I able to solved the issue by Uninstalling LIV application from steam. After Uninstall the app their is no more error pop up.

This is still an issue in 2019 apparently, my controllers are on and tracking, but do not appear within app

Are you using VRTK by chance?

I have this issue too, no LIV or VRTK

Do you currently use SteamVR 2.0 sdk in your Unity project?