cancel
Showing results for 
Search instead for 
Did you mean: 

UnityVr vs Oculus Utilities

Anonymous
Not applicable
Hi guys!
I'm at a confusion point...
I'm reading two separate docs:


I'm trying to use a single, unified base for my project, but I don't know which one I should stick with (integrating both sounds like a debugging nightmare waiting to happen).
I understand that Unity wants to cover more than just Oculus (Vive & PSVR), but what does that mean for Oculus developers when considering the two integrations?

My immediate questions are:


  • What things should I weigh in (pros/cons) considering which to marry my project with?

  • Is there any indication that Oculus Utilities will fully dissolve into UnityVr?



Any thoughts?
22 REPLIES 22

cybereality
Grand Champion
You would use them together. The Oculus Utilities are not really a stand-alone SDK, but rather helper functions and classes that are built on top of the native Unity VR features.

Technically you could use the standard Unity built-in VR tools without anything else, and it would work on a basic level. However, you would be missing out on a lot of functionality you may find useful.

motorsep
Rising Star
I inquired about the same thing here: viewtopic.php?f=37&t=27874

Today I tried to use both OVR Player Controller dropped into Intro VR scene from Unity. It's not a trivial task. Unity samples use alot of scripts that rely on one another. So there going to be some work to add all the requires scripts to OVR Player Controller and get it working with Oculus Utils.

I also recall there are a few things required to be used from Oculus Utils to be able to publish in Oculus store. I was hoping Oculus would release a new version of Utils designed to work with Unity's VR scripts out of the box. This was all this tedious setup could be avoided.

I'd rather use Unity's setup because it's all there - drop in stuff and focus on making your game instead of fiddling with player setup and controls.

P.S. So I deployed Intro VR scene from Unity to Gear VR - worked like a charm, with basic UI, interactions and Back button working. So, can we build apps / games not using Oculus Utils at all ? What do we lose precisely by not using Utils ?

motorsep
Rising Star
So, any good reason why not to use Unity's VR examples and drop Oculus Utils completely ?

cybereality
Grand Champion
I would not drop Oculus Utilities, as there are some Oculus specific functionality you may need (for example, if you are developing for Gear VR and wish to put your game on the Store).

motorsep
Rising Star
"cybereality" wrote:
I would not drop Oculus Utilities, as there are some Oculus specific functionality you may need (for example, if you are developing for Gear VR and wish to put your game on the Store).


Well, the problem is that Oculus Utils can't be "married" to Unity's VR examples easily. And Oculus Utils are bare bones assets, which means anything beyond standing in place and looking around, or moving with gamepad requires knowing C# programming. Which means people who are artists and not quote programmers are doomed to either learn C# and waste time, so to speak, or team up with programmers, who are few and between nowadays.

Unity's VR examples allow to create a lot of experiences and/or games because they provide functionality for locomotion, GUI input, etc. So almost everything a VR app/game needs is in there, ready to be used out of the box.

Could you please specify why Oculus Utils have to be used in order to be able to publish games in Oculus Store ?

Is it some script that can be easily added to Unity's VR assets just so the app can make to the store?

motorsep
Rising Star
So, why are Utils necessary for an app to be published on Oculus Store?

Is it just some script not related to player's controller that can be simply dropped into Unity's VR example to complete an app ?

vrdaveb
Oculus Staff
If you are publishing to the Oculus store, there are certain requirements on the manifest, the behavior of the back button, and access to our Universal Menu, pass-through camera, etc, as outlined here: https://developer.oculus.com/documentat ... blish-req/. Some of this is vendor-specific and Unity has chosen not to include support for it in their sample assets. Therefore, you need to use OVRManager in your project, at least for now. Over time, we will work with Unity to make our Utilities more compatible with their Standard Assets, but we aren't there yet. In the meantime, if this is a blocking issue for you, you have all of the relevant code for the Utilities and Unity's Standard Assets, so there is nothing stopping you from modifying both to suit your needs.

pixelvspixel
Honored Guest
Can anyone shed any light on trying to marry the two together. Specifically the Unity VR Sample's Gaze Interaction. I've had a pretty hard time trying to get this to work. I'm assuming it has something to do with the Raycast not having proper coordinates once it's been parented to the Oculus Utilities player controller. But as someone stated above, not being a dev myself, it's harder to connect the dots for this simple functionality.

motorsep
Rising Star
"pixelvspixel" wrote:
Can anyone shed any light on trying to marry the two together. Specifically the Unity VR Sample's Gaze Interaction. I've had a pretty hard time trying to get this to work. I'm assuming it has something to do with the Raycast not having proper coordinates once it's been parented to the Oculus Utilities player controller. But as someone stated above, not being a dev myself, it's harder to connect the dots for this simple functionality.


As vrdaveb said, use OVRManager in Unity VR examples. It has functions that call built-in Oculus functionality (global menu and such). All you need is to call those functions from OVRManager in the UNity VR scripts, where back button handled. I recall there are 3 states - one press, double press and long press.

Everything else can Unity VR. In other words, you load Unity VR sample, add OVRManager there and you are good to go. Of course I am oversimplifying things as maybe there is a bit more involved than just adding OVRManager and calling its functions 🙂

Btw, Unity VR examples run on Gear VR out of the box, without Oculus Utils.