Skip to main content
Inspiring
June 16, 2015

Unity 5.1 and the Oculus Integration (Official Info)

Howdy,

A lot of changes are occurring with Unity VR development quickly, so we wanted to be sure to give you a clear heads up about what is happening, when it will happen, and what it means for developers.

= Unity First-Party Support =

Unity 5.1 introduced first-party support for virtual reality, making it easy to substitute a stereoscopic VR camera for your main camera by selecting the "Virtual Reality Supported" check box in Player Settings. The initial release of v 5.1 provides support for the Oculus Rift only.

On June 12, Unity released version 5.1.0p1, adding Gear VR support. All developers wishing to update to Unity v 5.1 should select this release, which is available for download here:
http://unity3d.com/unity/qa/patch-releases

For details on implementing Unity's first-party VR support, see the Unity manual: http://docs.unity3d.com/Manual/VROverview.html.

= Unity 5.1 and the Oculus Integration =

Unity 5.1 first-party VR support is incompatible with legacy versions of the Oculus Unity Integration (versions 0.6.0 and earlier). Projects using legacy versions of the Integration will only work with Unity v 5.1 if the "Virtual Reality Supported" box in Player Settings is not selected. In that case, they should work normally.

Oculus will be shipping an update to our Unity Integration shortly. If you import the new Oculus Integration version into a legacy VR project, it will work normally with Unity 5.1.

Once you update to this version, our Integration will work for the Rift and Gear VR if "Virtual Reality Support" is enabled.

= Known Issues =

Moving to Unity 5.1 is a substantial upgrade for VR development, and we recommend carefully choosing your timeframe for making the update. There is always risk in moving early to a new major release that you may encounter problems related to VR performance or otherwise.

Please let us know about any issues you encounter in the Oculus Unity forums, and keep your eye out for updates.

We are currently aware of the following issues with 5.1:

• All moonlight scripts, including platform UI, CPU/GPU levels, and overlay, are currently incompatible with 5.1.0. Updated versions will come with 0.6.0.1. The following features will no longer work:
• MediaSurface
• TimeWarp sub-stepping (only supports 60, no longer 20 or 30)
• Linear lighting (sRGB) and eye texture MSAA currently don't work. This will be fixed in Unity 5.1.0p2.
• VR.VRSettings.renderScale has no effect on Android.
• There is currently no way to render separate content (stereo video) to each eye. This may come back in a future Unity version.

For release notes and known issues in Unity 5.1:
https://unity3d.com/unity/whats-new/unity-5.1
    This topic has been closed for replies.

    108 replies

    Inspiring
    October 29, 2015
    There is no plan to add an API to disable the head model within the next month, but maybe within the next two months. For now, I would suggest upgrading to Unity 5.2.2f1 and canceling out the tracking pose in the TrackingSpace GameObject, which is there to give you this kind of flexibility.
    Participant
    November 16, 2015
    "vrdaveb" wrote:
    Sounds like we need to enable mipmap generation or HQ distortion for your use case (heavily oversampling the eye buffers). We'll take a look, but the soonest we could ship a fix is several weeks from now. Are you blocked on this?


    Hello,
    We are aiming for a GearVR release soon, i was wondering if there are any news on this?
    We are currently still @Unity 5.1.3f1, willing to update if this is fixed in a newer Version.
    A patch or workaround for the meantime would work for us as well.

    Thanks
    Writer for Bloculus.de the German Virtual Reality Developer Blog Professional software developer for VR, Collector of old Gaming Hardware
    Inspiring
    November 16, 2015
    Sorry, no news yet. We've implemented the feature locally, but it isn't scheduled for release within the next month. You can still disable OVRManager.instance.usePositionTracking to turn off vision-based tracking, but you would have to set the OVRCameraRig's scale to a small value or cancel out the local position in the TrackingSpace GameObject to eliminate the head model and IPD. Let me know if you need help doing that.
    Participant
    November 17, 2015
    Sorry, I'm afraid my question was regarding the "mipmap generation or HQ distortion" to get rid of the moire effect on some of our textures (see quote)
    Writer for Bloculus.de the German Virtual Reality Developer Blog Professional software developer for VR, Collector of old Gaming Hardware
    Inspiring
    November 17, 2015
    We took a look at high-quality distortion (basically, shader-level multisampling) before the 0.1.3 release, but it was way too expensive. For a future Oculus SDK, we are re-doing high-quality distortion to basically use anisotropic filtering. We'll expose this through the Unity integration as soon as it's available, but that could be over a month away. For now, if you have fill rate to burn, I would recommend cranking up the MSAA to 4 or 8 instead of setting the native texture scale above 1. MSAA should give you at least the same improvement in sharpness without oversampling.
    January 6, 2016
    OMG, I ve never seen a worse documentation for anything ever.

    I am trying to figure out how to set up Unity 5 with Oculus Gear VR, but nothing in the official documentaion from the site can help me.


    There is no VrUnity folder in the mobile sdk, no integration package and lots of other misleading info. It is a painful experience.
    Inspiring
    January 6, 2016
    What documentation are you following? Ours is at https://developer.oculus.com/documentat ... ity-intro/
    January 7, 2016
    "vrdaveb" wrote:
    What documentation are you following? Ours is at https://developer.oculus.com/documentat ... ity-intro/


    yes, thta's the one. It is the only place where you can learn about introductory settings.

    Anyway , I have figured out what's about by installing the sdk examples, then reading about each component, script , etc from the site. Even so i am still finding mistakes, it looks like two worlds are mixed in the texts, the world with unity integration and the new one: unity utilities. Someone has to clean up the docs to the last release.
    Inspiring
    January 7, 2016
    "mirq" wrote:
    Even so i am still finding mistakes, it looks like two worlds are mixed in the texts
    Can you be more specific? Our documentation team will be happy to fix or clarify anything that doesn't make sense.
    January 8, 2016
    "vrdaveb" wrote:
    "mirq" wrote:
    Even so i am still finding mistakes, it looks like two worlds are mixed in the texts
    Can you be more specific? Our documentation team will be happy to fix or clarify anything that doesn't make sense.


    Yes, i'd be glad to help improve the docs, but the experience was so frustrating that I gave up reading large amount of text. I just pick infos about specific items.

    But since I was just reading building the Rol-a-ball app form Unity, I have some comments:

    1. There are two versions of this tutorial: one in a pdf file and one in the site. The are not the same, and worse, they are both flawed.

    2. In the pdf version: noone tells the reader to import oculus utilies, he is sudenlly put in the situation to modify the OVRCameraRig transform. Huh ? where that camera came from ? It was not in the original Roll-a-ball project (aaaa, and by the way, having people build again a long time forgotten project from video tutorials is a a torture. Lucky me, I have found on github a finished project, but it was hard to find).

    3. By contrast, in the html version of the same tutorial, the reader is promptly asked to import the package from SDK installation, called UnityIntegration. Which does not exists . At least the torture was shorter on the html version of the tutorial.

    Maybe I ll post here future readings if I continue to read, but now i fight with a odd situation that makes development very unconfortable : for no apparent reason, a phone connected to Gear VR by a microUSB mother - father adaptor cable is not recognized by the Gear. It would be nice if during many rebuilds and debug of apps, some shouldnt always connect the phone into the gear. It is unhandy and may reduce lifetime of the gear's mechanics.