[RELEASED] VR Interaction Framework

Brilliant thanks. Setting the timestep to 0.02 did the trick. Was 0.138889 previously. Must mention that your VR Framework is excellent as is you documentation and support so thank you.

1 Like

Woot! Excellent, glad you got it sorted. That timestep of 0.138889 is very slow. That must have been a typo on my end. It should be 0.0138889 ( 1 / 72 ). And for Rift you could target 90fps which is 1 / 90 or 0.011111.

Now that you have 0.02 working, I’d recommend trying 0.0138889 and seeing if you can tell the difference. It’s worth experimenting around with a bit. If you don’t need the extra physics calculations having it at 0.02 may give you a little bit of extra cpu to work with.

Cheers,
JP

1 Like

Hello! This looks like an excellent resource. I was wondering, is there an email I can contact you at to ask some usage rights questions? I tried your website and it looks like that link is broken. Thank you!

Edit: Just scrolled up and saw you posted your email, I’ll be reaching out to you there!

1 Like

I have practically all assets related to VR controls. This is, without a doubt, the best and best finished. Worth every penny. I hope the author continues with his excellent work.

2 Likes

Thank you EstudioVR! And thank you for the review - that’s super helpful. I will definitely keep working on this - and do let me know if you have any feature requests or suggestions.

Onwards and upwards!

1 Like

Hi, I have a crash on scene EMPTY. I don´t know if in my side only, Unity 2019.3. Everytime i try to run, crash. Not a big deal. :slight_smile:

Are you using Oculus Link by chance? The new link update has been giving me all sorts of trouble with Unity in general these last few days. If you are, try unplugging the headset and see if the scene loads in the editor then.

No, I am using Rift S. I have Quest too, but using Rift S for develop. I know the Link is unstable.

In the Player prefab, try disabling the “OVRHandPrefab” and “OVRHandPrefab (1)” game objects. These are used for hand tracking, and it looks like this new Oculus update is having some problems with toggling that on / off in the Unity editor (or it could certainly be something on my end). I’m 95% sure this should stop the crashing, even if you’re on the Rift. Ok maybe 90% sure :wink:

And please let me know if that works for you, as I imagine others will run into this issue as well.

2 Likes

Bingo! It works. Thanks

1 Like

Hey :slight_smile: !
I just tested the 1.1 and I love the snap zone.
Do you plan to make the UI Example compatible with hands tracking? Means using the fingers tip on sliders, buttons and scrollingUI ?

3 Likes

Hmm… I honestly hadn’t really thought about it, but that would make sense. Do you mean using the pinch pointer like the Quest uses natively? Or to be able to physically scroll / touch elements using just your finger tips? I haven’t tried the latter, but I do have some ideas on how that could be done without having to add a bunch of colliders or layers. I’ll have to play around with that a bit.

4 Likes

Excellent asset. A very well done work!
In the example using the UI, how can I enable the hover cursor behavior? (like change button color on mouse over)

Thank you, joz! For the UI example, you can just change the button’s “Highlighted Color”. Unity UI events / properties should still function as normal with this setup.

I tried do this enabling highlited colors on inspector:
Toggle button:
5478729--560823--highligh_02.jpg
Silder:
5478729--560826--highligh_03.jpg
Scrollbar
5478729--560829--highligh_04.jpg
Button:
5478729--560832--highligh_05.jpg

But had not effect:
lastspitefulgander

I tried enable “OVR Headset Emulator”
5478729--560835--highligh_06.jpg

And worked like a charm:
delicioussmugbilby

should it work that way?

That’s odd. Shouldn’t need that OVR Headset Emulator active for hovers to work. It’s interesting that the active state worked but not the hovers in the first video. The hovers are working ok for me without the emulator. Hmm.

Are you using this in the editor or in a build? And is this for Quest or Rift. Lastly, what version of Unity are you running, and are you using the XR Management Package (Windows → Package Manager), or Oculus Desktop package? If you can give me that info I can try to reproduce and go from there.

I’m using build for Quest (Oculus ver 13) on Unity 2019.2.15f1

5480568--561120--xr.jpg

I tested in the editor then worked fine. But on the Quest doesn’t work without “OVR Headset Emulator”
I’ll try update Unity.

I don’t see any harm in leaving OVR Headset Emulator enabled if that’s working for you. In that module there is a check for whether or not it’s running in the Editor (IsEmulationActivated()), so I can’t imagine there would be any major performance implications there when running on the headset.

I recently spent some time working on my own Raycasting UI solution in order to support things like dual UI pointers (or really just supporting more than one), but the built-in Unity EventSystem only supports one instance, and there are a lot of private variables that make extending it quite difficult. It just wasn’t designed with multiple instances in mind. For example, if you want to be able to hover over two buttons at a time, or use two sliders at once, you’ll have to modify the event system and most likely extend the ui components as well.

I believe the new UnityXR Input system should fix that, so instead of spending a bunch of time on the current event system, I’m going to see if this new system will solve that problem. I wouldn’t be surprised if Oculus releases something that utilizes this as well.

The new XR system should also allow this framework to much more easily support other devices outside of Oculus. My goal would be to use the XR system for everything outside of Oculus-specific features such as hand tracking and guardian. When you wanted to use these features you would just move the Oculus SDK up in the XR Settings and use a separate player prefab that has any Oculus-specific components on it. That’s the theory, anyways…

1 Like

How do you add enemies to this to be able to practice on with your weapons you can use?

There is a pretty basic damage system included that should get the job done. Take a look at the breakable targets as an example.

Basically you would just add your enemies, and then on their hitboxes / colliders add the “Damageable” component. You can set the Health property on this to whatever you’d like. Weapons have a “Damage” property that will be subtracted from their Health on impact.

Then you just decide what to do with the enemy when it receives damage or dies. For example, you could play an animation, or hide the model and spawn a ragdoll in its place. I do plan on adding a simple npc as an example, but I’ve got a few more core items to wrap up first. I’ve also been working on grabbable ragdolls that are pretty hillarious to move around - I’ll post a video on that sometimes soon.

1 Like