SteamVR Developer Hardware

SteamVR Developer Hardware

View Stats:
aaron.leiby Jun 29, 2017 @ 10:33am
Unity SteamVR plugin v1.2.2
The SteamVR plugin for Unity has been updated on the Unity Asset Store.

http://u3d.as/content/valve-corporation/steam-vr-plugin

Github has been updated with the latest changes as well: https://github.com/ValveSoftware/steamvr_unity_plugin

You can use GitHub to post bugs and fixes.

If you have problems downloading the latest version, sometimes you need to click on the little "inbox" icon in the upper left of the Asset Store window to go to the list of plugins you've previously downloaded, and update the plugin from there before importing it into your project(s).
< >
Showing 1-15 of 15 comments
aaron.leiby  [developer] Jun 29, 2017 @ 10:34am 
Also note this small change to caching SteamVR_Events.Action objects that you might want to reflect in your own usage of the system (if any).

https://steamcommunity.com/app/358720/discussions/0/133258092242841297/?ctp=2#c1368380934267882131
martijnkragtwijk Jul 3, 2017 @ 2:30am 
Is this supposed to work in Unity 5.6.1? Because the fix that I needed to apply earlier ("manually add the SteamVR_UpdatePoses component to your main camera.") now doesn't work anymore, since the UpdatePoses component is no longer working.
Dppos Jul 4, 2017 @ 6:18am 
1.2.2 has deprecated SteamVR_UpdatePoses , im waiting for fixing cuz all my controllers cannot be tracked .I've tried unity 5.5.4 and 5.6.2 ,but they dont help at all
parallax Jul 5, 2017 @ 8:54pm 
The SteamVR_UpdatePoses fix mentioned here was the only way I could get my controllers to show up previously, after updating to Unity 5.6; I found that solution here: http://answers.unity3d.com/questions/1299567/vive-controllers-not-tracking-in-unity-560b3.html ...Now I've updated SteamVR to 1.2.2, my controllers are once again missing, _and_ the SteamVR_UpdatePoses script has been depricated, rendering that fix useless - i can no longer add it to the camera. I assumed that meant the controllers issue had been fixed some other way, but I'm not seeing it. Thinking it depended on a more recent version of Unity, i upgraded it to 5.6.2f1, but no luck.
parallax Jul 5, 2017 @ 9:39pm 
Update: I found a version of SteamVR_UpdatePoses in a project still using SteamVR 1.2.1, dragged it into the project, and dragged it onto Camera (head). That made the controllers appear. But I can't help but feel like this is very much the wrong way to go about this. Ideally of course the [CameraRig] prefab would just work.
MastaKwaa Jul 6, 2017 @ 2:02pm 
@parallax I noticed the same issue. UpdatePoses was seemingly responsible for registering the controllers' turning on event.. but I'm not sure why exactly. It definitely feels broken that controllers turning on doesn't enable those game objects.
If neither are on when hitting play, neither register and enable in Unity (game objects are grayed out). Then hitting the play button again to stop triggers this exception: "Failed to load IVRRenderModels interface version IVRRenderModels_005"

@aaron.leiby Are we missing something, is this bugged, or is it simply expected that at least one controller is on when hitting play?
sniper Jul 13, 2017 @ 2:27am 
The [SteamVR] gameobject disappears when the scene is changed. There is no DontDestroyOnload() on it
Knil Jul 13, 2017 @ 11:18am 
Hey guys I'm running into a strange issue after upgrading Tabletop Simulator from Unity 5.3.8 to 5.6.2 with SteamVR. I also updated from my outdated SteamVR plugin to the latest.

Everything works fine if I keep the Virtual Reality SDKs in PlayerSettings without 'None' as the first option. The problem comes up because I want to manually enable VR by using 'None' to stop it from automatically initializing and then enabling VR at runtime. I need to do this because TTS is both a VR and Non-VR game and I need to make changes at runtime to setup everything correctly.

After calling this code to enable VR at runtime:

VRSettings.LoadDeviceByName("OpenVR");
yield return null; //have to wait a frame for VR to init
VRSettings.enabled = true;

I get spammed in console with:

Assertion failed on expression: 'IsMatrixValid(matrix)

Also the camera rotation seems to be double what is should be (ex, turning 90 degrees right ends up being 180).

I can reproduce this issue in a clean project with just the default SteamVR camera rig.

Has anyone ran into this issue and/or have any ideas? Thanks for any help!
Knil Jul 13, 2017 @ 3:57pm 
Thanks for help from ivanAtBest: https://www.reddit.com/r/Unity3D/comments/6n3h52/vr_issues_after_updating_tabletop_simulator_to/dk6qe3x/?st=j5319zbi&sh=a8fd23be

Basically I needed to make sure that the SteamVR rig wasn't in enabled until VR was enabled.
MastaKwaa Jul 14, 2017 @ 12:19pm 
Originally posted by sniper:
The [SteamVR] gameobject disappears when the scene is changed. There is no DontDestroyOnload() on it

@sniper Thanks! I forgot that I had added DontDestroyOnLoad(gameObject) to SteamVR_Render.cs Awake() previously as a workaround to this issue, and when upgrading I do the recommended deletion of the SteamVR folder, which nuked the workaround.
aaron.leiby  [developer] Jul 17, 2017 @ 1:22pm 
SteamVR_UpdatePoses was deprecated. Its functionality was moved into SteamVR_Render by registering for the OnCameraPreCull callback (or the new OnBeforeRender callback in Unity versions 2017+). Maybe you can put a breakpoint in there and try to figure out why that is not getting called for you? Does this happen for you in a new/empty project with just the SteamVR plugin imported in the example scene? Does it only happen in built versions or in the Editor as well? Which platform are you building for? If you find it's specific to something in your project that I need to account for in the plugin, let me know.

DontDestroyOnLoad - I think the original version of SteamVR_Render used this, but it was causing multiple copies of the singleton to show up when transitioning. You can either add the [SteamVR] prefab to your scenes, otherwise it'll get created automatically when SteamVR_Render.instance (or one of the static functions like Add) get called. If there is a SteamVR_Camera in your scene, this will trigger instantiation OnEnable. Similarly, SteamVR_TrackedObject (used by controllers) will also trigger it. If you figure out why these might be failing for you, let me know.
aaron.leiby  [developer] Aug 1, 2017 @ 6:04pm 
If you are doing any non-VR rendering, you might need to add the following to SteamVR_Render.cs:
void OnCameraPreCull(Camera cam) { if (cam.cameraType != CameraType.VR) return;
(This does not apply to Unity 2017+.)
darkcser Aug 9, 2017 @ 11:52am 
@parallax
@MastaKwaa

Now roughly a month later were you able to find a work around for the missing controllers in version 1.2.2?

I made the mistake of upgrading to 1.2.2, and now I'm stuck in the same boat. I can see the controllers in the scene view but not in the game view. Not sure if I have an older version of SteamVR sitting around. Now I'm paranoid about any upgrades.
pat_trick Oct 14, 2017 @ 5:34pm 
Jumping in a little late; I just installed 5.6.3p4 fresh, and set up SteamVR 1.2.2. The problem is that the instructions on the PDF included with the plugin do not work any longer. Instead of adding the Steam VR_Camera object to the existing MainCamera, try removing the MainCamera from the scene, and then dragging the SteamVR>Prefabs>[Camera Rig] into the scene.

This immediately makes the controllers present and working.
< >
Showing 1-15 of 15 comments
Per page: 15 30 50