cancel
Showing results for 
Search instead for 
Did you mean: 

Eye Tracking not working on Unity. Pls help sad devs make cool things faster :)

superbadhombre
Protege

Spent a god awful amount of time trying to get eye tracking working to no avail. 

 

tl;dr: it seems like there's an issue with permissions generated in the manifest generation stage somewhere.

inspired by https://forums.oculusvr.com/t5/Quest-Development/Movement-SDK-features-fail-to-start-on-Quest-Pro/td...

 

Repro and debug info:
Unity V2021.3.12f1

Oculus XR Plugin V3.2.1

Oculus Integration v46.0

OVRCameraRig - Quest Features (Eye Tracking Supported)

OVRCameraRig - Permission Requests on Startup (Eye & Face)

Test Scene: Assets/Oculus/SampleFramework/Core/DebugUI + two cubes with OVREyeGaze enabled

File -> Build Settings -> Project Settings -> XR Plugin Management -> Oculus -> Android icon -> Quest Pro checked

 

Summary:

Looking at the manifest in the generated apk (used Android Studio to inspect), I see that face tracking tags are included but eye tracking tags are missing.
Additionally, when starting the app with these settings the face permissions prompt will pop up but not the eye tracking prompt. If you switch eye tracking support to be required, then the app will crash.

Could be something else but there's my two cents ¯\_(ツ)_/¯

Let me know if any of y'all are able to get it working somehow!

1 ACCEPTED SOLUTION

Accepted Solutions

Marielle_HPE
Explorer

I was able to get Eye Tracking to work in a Unity Meta Avatar sample by changing the Foveated Rendering Method to Eye tracked.  That solved the permission messages.  I don't know why this worked but it did.  The setting is in XR Plugin Management --> Oculus.  And make sure you check the Quest Pro there, too.

View solution in original post

12 REPLIES 12

nhorn
Honored Guest

It seems that with oculus integration under OVRCameraRig "permissions request on startup" is grayed out.

Maybe in the next integration update they will add meta quest pro. Funny they still call it oculus integration and not meta quest integration. I haven't figured out how to "un-gray them" so I can start making mix reality apps  

Capture.PNG

Hey nhorn, if you scroll up on the same component you’ll see a toggle for setting eye tracking support. You can select “supported” or “required” and it will unlock the checkbox

Sparkett3
Protege

I had the exact opposite issue: I saw the "Supported" thing, but didn't realize I had to enable the permission toggle. So thanks OP!

Kingslayer
Explorer

I have the same issue as OP, I let Oculus Integration tool create a store compatible manifest, I've verified it contains permissions and feature-usages for all 3 movement features (eye, body, face).

When I inspect the installed apk with adb I can see that the apk didn't ask for permission to eye-tracking feature, but that body and face permissions are granted. Since the apk doesn't ask for eye permissions I cannot force grant it using adb either.

Since OP discovered that the built apk also lacks the eye-tracking tags in its manifest it seems they are stripped at build time.

So would be nice to fix this, in the meanwhile is there any way of force granting these permissions? Or inject the permissions into the build after the build-process is finished - just so we can get it working now I'm thinking.

Marielle_HPE
Explorer

I was able to get Eye Tracking to work in a Unity Meta Avatar sample by changing the Foveated Rendering Method to Eye tracked.  That solved the permission messages.  I don't know why this worked but it did.  The setting is in XR Plugin Management --> Oculus.  And make sure you check the Quest Pro there, too.

@Marielle_HPE If I could give you 20 Kudos I would. It works!! 😉

Nice thanks. I can get eye tracking working over link now by enabling OpenXR beta features on the windows Oculus App settings and toggling Eye tracking over Link there.

Android builds now crash on startup though, but I can see that the eye tracking permissions do survive the build process now so it's getting closer.

Kind of sad to be a beta tester on such an expensive piece of hardware though.

For real... John Carmack talked about how they needed to raise the price to get the incentive structure right which I totally get and agree with (my wallet doesn't), but you can't then burn us devs who are trying to help your platform with poor dev experiences and poor follow up support.

If any Meta employees see this, please advocate for dev support to those who are trying to make cool things. The faster we can build, the more it benefits you, us, the customers, the ecosystem, etc... Also, the more people who can easily setup develop and start learning, the more cool ideas we'll see. I know the priority is probably on Horizon Worlds for the non-coding masses but there's so much potential for the devs who can actually code cool and unique experiences vs. the pre-fabbed low-code stuff in Horizon Worlds 

 ¯\_(ツ)_/¯
end of rant 😄

 

Fumezombie
Protege

Quality rant, @superbadhombre! Totally with you on that.