SteamVR for 4.7.6 GitHub users

I’ve created a branch of 4.7.6 that adds the latest support for SteamVR/OpenVR/Vive.

You’ll also need the libraries located in this .zip file. Just merge the contents with your Engine directory.

Awesome! Thanks much for this - I just moved a project to 4.7.6 and was on the lookout for a branch updated to the latest SDK.

Updated with one small change that fixes a bit of timing in the renderer. Just changes SteamVRHMD.cpp.

@JJ Hoesing - So with the update to 0.6 Oculus SDK, they’ve removed access to lens separation, which means that users like myself with wide or narrow IPDs can no longer use the “VR Gear” intercepter program to make the Oculus service take into account the 3d printed lens separators/narrowers.

Because of this I’m having to look for an alternative way forward to develop for the Rift (repeated requests to Oculus to expose the separation value have met with silence).

So my question is - is there somewhere in SteamVR where I can override the default Rift lens separation? I have no problem changing the code myself, whatever it takes.

Please see:


in SteamVRHMD.cpp. And yes, that value shouldn’t be hardcoded like that…

Hmmm - well, the IPD is separate from the distance between lenses, which is what I’m after.

So you can change the IPD, but that doesn’t change the distance between the viewports in the correct way so that they’ll be lined up with the new lens center (since the lenses themselves were physically moved by the separators/narrowers).

This thread on Reddit has more information and here’s a comparison of the lens separation at 30mm and at 100mm:


I did look about in both the SteamVR plugin code and the SteamAPI code, but wasn’t able to see a way to set the lens separation, only IPD.

Edit: Looks like a new hack for the updated service has been found - so on the DK2 front I can use that for 4.8 just fine. THanks for your help @JJ

Glad you found a workaround :slight_smile: Sorry that I misread the question the first time around.

I suspect that the SteamVR SDK doesn’t expose lens separation due to the Vive having hardware IPD adjustment - so the lens separation is the same as IPD there (probably also why the Oculus SDK has it hidden away now too, since the CV1 will likely also have hardware IPD adjustment).