Search Unity

  1. Unity 2019.1 is now released.
    Dismiss Notice

Oculus Rift + VIVE development strategy?

Discussion in 'VR' started by ricarious, Feb 10, 2019.

  1. ricarious

    ricarious

    Joined:
    Nov 1, 2017
    Posts:
    18
    I want to build a VR app that runs on Oculus Rift and VIVE, and can be released on their stores (Oculus, Steam, HTC?). I have read a everything that I can find and still remain uncertain. ;-)

    I started here: https://developer.oculus.com/documentation/unity/latest/concepts/unity-cross-platform-dev/

    So, I understand that Unity has built-in (but limited) Oculus/OVR support that will run on both Oculus Rift and VIVE. I believe that this one target exe will run on both. However, the features that work are limited to OVRCameraRig, OVRDisplay, OVRInput, OVROverlay, OVRBoundary, etc. Note that the doc sez that this also supports cross-platform for Avatars (but it's quite limited and prob a non-starter). So far, so good (I think).

    However, things get messy if you use Oculus Integration or Utilities (and probably similar if you use extra SteamVR api features). And considering that I would prefer not to build this stuff myself, I am unclear how to use these non-conforming features and still deliver on both platforms. My first instinct is to build abstract components (e.g. AbstractAvatar) that perform run-time hardware checks and calls either OVR or SteamVR apis, but would love to avoid this if possible. This approach would require two separate builds, I think.

    Any advice or correction would be greatly appreciated.

    P.S. I anticipate that I will also have problems when it comes time to put the app into the various stores. For example, I have read that Oculus requires no references to SteamVR in your app to be accepted. Sigh...
     
  2. ricarious

    ricarious

    Joined:
    Nov 1, 2017
    Posts:
    18
    I would love to hear how others are developing VR apps for Rift and VIVE. I assume that the other approach is to go all in with OpenVR from Valve, but this appears to be less integrated with Unity.

    Any feedback, corrections, better ideas would be greatly appreciated.
     
  3. justdizzy

    justdizzy

    Joined:
    Mar 8, 2016
    Posts:
    45
    moscartong and ricarious like this.
  4. ricarious

    ricarious

    Joined:
    Nov 1, 2017
    Posts:
    18
    Both Oculus (OVR) and Valve (SteamVR/OpenVR) offer BASIC cross platform support (rendering, tracking, input). They look roughly equivalent, but both stop at avatars. Once you get into avatar/controller modeling, it appears that you need to do some work (either implement it yourself or somehow deconstruct what one or the other has done for avatars).

    I believe that VRTK stops at the same point. Does anyone know if VRTK abstracts avatars and allows one implementation that works on both Oculus Rift and VIVE?
     
  5. ricarious

    ricarious

    Joined:
    Nov 1, 2017
    Posts:
    18
    For the record, since Oculus does not support Linux, we chose to go with SteamVR and so far quite happy with it.
     
  6. ristophonics

    ristophonics

    Joined:
    May 23, 2014
    Posts:
    17
    I can second the idea that they stop at both Avatars. I am currently implementing this but getting no Avatar hands in the Sample Scene. Likewise the control inputs are not recognized when running OpenVR with the Oculus Integration setup. I made a bug for it here. I think its a bug =(