I want to build a Unity app that runs on Rift and VIVE. 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). So far, so good (I think).
However, things get messy if you use Oculus Integration (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...