Vive controllers not tracking in Unity 5.6.0b3

Hello, I can’t seem to get my Vive controllers to track in Unity 5.6.0b3, however my headset tracks perfectly fine (I can see the x,y, and z constantly changing). When I press play, Controller (left) and Controller (right) just go grey in the Hiearchy, and the “active” tickboxes for each controller (at the top of the inspector) just get un-checked when I press play (they track just fine outside of Unity). I followed this tutorial, HTC Vive Tutorial for Unity | Kodeco using their demo scene, but I’ve also tried it in an empty scene, same issue. Also tried opting out of SteamVR beta, no dice. The only Assets in my folder is a clean import of the latest SteamVR plugin. Any ideas?

http://puu.sh/tnzlN/67d00bb76c.jpg

EDIT: FIXED!!! I tried Unity 5.5.0b4 and it works!!! I guess there’s something that changed with the latest beta that breaks something in the SteamVR plugin.

Also, unrelated, but I was also getting this compile error:

UnityEditor.PlayerSettings’ does not contain a definition for `SplashScreen’

so I opened SteamVR_Settings.cs and changed all instances of PlayerSettings.SplashScreen.show to PlayerSettings.showUnitySplashScreen, and it seemed to fix the errors. This was happening in all versions I tried.

I’m getting the same error on 5.6.0b6 so this has not been resolved.

Edit: this is solved in 5.6.x by manually adding the SteamVR_UpdatePoses component to the main camera!

I can confirm Swedishisk fix works! Adding SteamVR_UpdatePoses to the main camera (Camera Eye) solves the hand tracking issue in. Unity 5.6.0b7. Hand / controller tracking works fine after adding that component.

With SteamVR for Unity 1.2.3 released, the Update_Poses solution does not work. The controllers won’t work in Unity 5.6.3f1

Instead, open up SteamVR_Render.cs and delete or comment out lines 341 and 342.

Thought I might add something… I tried the “swedishfisk” method but nothing changed, if this is true for you, try this:

Add the SteamVR_UpdatePoses script to the [CameraRig].
This will make the controllers appear, but you can only see their shadows, this is because the camera rig itself has become the vr camera and the controllers will always be above the camera rig (even if you look up they will be behind you as it just tilts the rig.)

To see the controllers, set the TargetEye dropdown in the [CameraRig] inspector to “None (MainDisplay)”

This allows the vr camera to return to being the “Camera (Head)” and the controllers should be there as usual.

This works for me, only downside is the monitor will not display what you see in vr, but I think this is a fair trade-off, also can probably be fixed.

Hope this helps!

SIMPLIFIED:
1. Add SteamVR_UpdatePoses script to the [CameraRig]
2. Set the TargetEye dropdown in the [CameraRig] inspector to “None (MainDisplay)”

I too am seeing this issue. I’d like to try out the beta features. Anyone find a better solution than rolling back to 5.5.0b4? (sounds like its the pose components)

Solved with Swedishisk method, but I can also not grab objects, as in this tutorial. Any suggestions?

(Unity v5.6.0b10, SteamVR v1.2.1 runtime v1485823399 and SDK version 1.0.6)

Also found this bug report with status “Won’t fix”:

Guess that means we have to wait for a Steam VR update on asset store. Meanwhile I tried the fix suggested by Swedishfisk and it seems to work! Thanks :slight_smile:

I tried the solution suggested by @swedishfisk but the issue now is that the remotes are trying to be black and white at the same time and the entire game is lagging way more than before 5.6.0.

I’ve also not been able to grab objects after the update, and UpdatePoses fix.

I had all this working…
Unity 5.6.0f3

After the 5.6 update, I did the fix to drag SteamVR_UpdatePoses onto the Camera Head. Everything was working great.

I wanted to remove all VR for various reasons so I took out all the VR and put FPS controller back in. Made modifications to level and what not.

Tried to bring SteamVR/Vive back into my level… I put the lazer pointer scripts back onto the controllers, I populated the public fields in the inspector. I added SteamVR_UpdatePoses to Camera (Head) … But, nothing. My controllers are simply not being recognized.

Just for completeness, I created a brand new project, I added a single terrain. Nothing else, just a terrain. I downloaded and imported a fresh copy of SteamVR from the asset store.

I imported in my Teleport script, put those on my controllers, filled out the proper public variables in the inspector for the teleport script. Dragged SteamVR_UpdatePoses onto Camera(Head) … Still nothing even with a brand new project.

For grins, I tried playing a VR game from our steam collection. That seemed to work fine. I must be missing something, but I’ not sure what.

I even put a Debug.Log(…); statement in my teleport scripts startup() function. Nothing. Controllers don’t even appear in the VR headset anymore.

I have found a difference in putting the SteamVR_UpdatePoses fix onto the Camera Head and instead onto the Camera Eye. The latter works for me and when run it swaps place in the hiarchy with Camera Head. I am a total unity and C# newbie just very curious how things really work. :slight_smile:

Using the component SteamVR_UpdatePoses consistently crashes Unity on play for me on Unity version 5.6.1f1

Downgrading to 5.5.3.f1 fixed my issues for now.

Here is what I did to make the CameraRig working again with 5.6: Add SteamVR_UpdatePoses script to the Camera (eye); set the origin in Controller script (default is SteamVR_TrackedObject) to an object in the coordinate origin.

I’ve tried the fix with the Update_Poses, but although my controllers did appear in the scene, they weren’t tracking correctly (far too high).

Reverted to the 5.5 series and everything worked perfectly.

I tried this as well and I added the “Update Poses” to the Camera Eye and it allowed me to see the controllers but the pan and tilt of the world is now attached to my HMD and it moves me around as I try to look around.

Sorry if that sounds confusing, but I’m new to Unity and can’t figure this out. @swedishfisk please help!!!

So it’s now June and I tried the fixes suggested above but I can’t see the controllers and am working in 5.5.ob4 instead. please update if anyone found a solution…

New SteamVR sdk release has break my work. I can’t see my vive controllers anymore…and i don’t know why…
I can’t add UpdatePoses script to Camera Eye because is Deprecated now… I’m on Unity 5.6

HEEEEELPPPP

I’m also running into this issue, and UpdatePoses is still deprecated so I can’t add it! Any fixes?

–EDIT: we updated to unity 2017.3.1f1 and it seems to be working!

@Teh_Bucket 's fix worked for me (Using Unity 5.6.3p1). Couldn’t seem to add the SteamVR_UpdatePoses script to the camera… or anything as per @swedfishfisk 's fix.

SteamVR Plugin ver 1.2.3,Teh_Bucket’s fix worked for me using Unity 5.6.3p1. Couldn’t seem to add the SteamVR_UpdatePoses script like in swedfish’s fix.