Hi,
I’m trying to have the HoverEffect working in VR and I can’t make it work.
I’m using URP, I add the PolySpatialHoverEffect on my gameobject that have the renderer, I add a collider, and it does not work.
I’m able to use the VisionOs Pointer to do interaction but without the HoverEffect it is useless.
Is there anyway to make it work in a Fully Immersive apps?
Hello!
I do not believe the PolySpatialHoverEffect works in VR fully immersive apps. It relies on PolySpatial’s architecture to puppet RealityKit’s hover effect, and PolySpatial is not used in VR. You may have to use skeletal hand data and a visible line originating from your hands to “aim”.
@vcheung-unity Do we have any other way to do this other than the above solution. Because eye gaze is the one of the Unique feature in Vision Pro. If we use ray kind of the thing, looks not good for Vision Pro.
you only have access to eye gaze when user does an action like click. Running into the same problem but there’s nothing we can do about it because the app runs on unity’s pipeline rather than apple’s
As mentioned, eye tracking (eye gaze) data is only available on the first frame of an input (like a pinch gesture). This is a VisionOS constraint to protect user privacy. Please share feedback with Apple if you would like this to change.
I wonder how other VP apps like IMax managed to do the hover effect with only eye-gaze in VR mode? There has to be such a trick.
I suggest giving it a try Jetpack Vision Pro version on Apple Arcade.
It’s a good case in fully immersive.
@Hengstar Hi, did you manage to solve it somehow? I really need hover effect in my vr app. I have a lot of UI panels and user doesn’t receive visual feedback on what he is looking at. Keyboard in VR is the worst case.
Not yet unfortunately. I guess we need either support from Unity or do the native change in swift somehow
hi,everyone
I downloaded a VR application called Spatial Vision in the visionOS App Store, and I found that it can have the effect of eye tracking, that is, when the eyes look at the button, the button will be highlighted.
Do you know how it did it?
It’s possible to build a fully immersive (VR) app using RealityKit, the hover component is a RealityKit component.
Unity supports fully immersive (VR) apps using Metal compositor services, this means everything is rendered with metal and we don’t get access to RealityKit components.
You could submit a feature request on our roadmap to support fully immersive apps with PolySpatial if this is important to you.
Thanks for clarifying, Dan. We really want the feature and I see many others do. I tried to make the feature request but didn’t see where I can do so. There is no button I can submit the request in roadmap page (XR roadmap | Unity). Can you help us with that?
The road maps specific to visionOS are linked in this thread. Those should allow you to submit items.
I thought I was having deja vu for a second. We have a similar thread asking about hover in VR that covers some of this.
Basically, if you want hover today you’ll need to use RealityKit. Please submit feedback to Apple that you need a way to implement hover effects in VR. In the meantime, you can still achieve a fully immersive app with RealityKit by just covering up the passthrough video with large, distant objects. The Hello World sample from Apple does just this. When you go into the fully immersive mode with the starfield, it is just a starfield texture on a very large sphere with normals that face inward.
A VR app in Unity lets you use Metal to render everything, which means that custom shaders don’t need to be translated to ShaderGraph, etc. If you don’t need to use Metal for rendering, you can achieve a “VR-like” experience with your App Mode set to Mixed Reality, and you can also take advantage of hover effect.
Hi,there!
I have a question,why can RealityKit get eye tracking (eye gaze) data and achieve a hover effect, but Metal can’t?
Because Apple do not want to provide the data, for user privacy reason.
If so, why isn’t RealityKit subject to user privacy policies
?
-_-
RealityKit does not give the developer access to the user gaze data.
Apple is implementing the gaze hover effect at the video driver layer to make sure no one is able to get any information on where the user is looking at.
This special effect is only implemented in RealityKit, it is not available in full Metal implementation. So, if you want the hover effect, right now, you have to use the MixReality setup (that use RealityKit behind the hood) + you need to use the HoverEffect object on the object you want to glow when user look at it.
You still have no clue on where the user is looking at, but the user get visual cue on where he look at.
I plan to transplant my existing unityvr project to visionos,
but I cannot use its eyes gaze interaction and achieve gaze hover effect .
How can I use XR Hands tracking to interact with UI or 3D objects and implement visual feedback for input with XRI?
Check out the Hands Interaction Demo | XR Interaction Toolkit | 3.0.1