cancel
Showing results for 
Search instead for 
Did you mean: 

Hand Tracking doesn't work if I remove the Unity Splash Screen

Fangh
Explorer
Hello everyone.
I have a project for Oculus Quest with Hand Tracking.

The Hand tracking does not work if I uncheck "Show Splash Screen" in my project settings (I have a Unity Plus License)
vjfpprgzsonb.png

Does anyone have a fix ?
4 REPLIES 4

Quacklin
Protege
Oh boy
I tried the hole day to figure out why my hand tracking app wasn't working anymore.
With v15 everything works fine.
Looks like the last update broke hand tracking for unity plus users.

tverona
Honored Guest
This seems to be a timing issue, where the underlying native library isn't initialized quickly enough on startup and results in Unity hand tracking components not getting initialized in Start()/Awake(). It seems like the splash screen delays this long enough to mask the issue.

What fixed it for me is to modify these 4 files under Assets/Oculus/VR/Scripts/Util: OVRMesh.cs, OVRMeshRenderer.cs, OVRSkeleton.cs, OVRSkeletonRenderer.cs. In the Update() methods for these files, remove the #if UNITY_EDITOR so that Initialize() is called on Android too.

Also, to prevent excess GC, in OVRMesh.cs in Initialize() don't reallocate _mesh if it's already allocated. Same for OVRSkeletonRenderer.cs Initialize() - don't reallocate those 4 member variables if they've already been initialized.

Hope this helps!

Thank you so much for sharing this fix. I've been banging my head against the table for days trying to figure this one out.

yiliu
Honored Guest

If you enable preview packages in Unity, you can install the "Oculus XR Plugin" v1.10.0-preview.1 or later, which fixes this issue: https://docs.unity3d.com/Packages/com.unity.xr.oculus@1.10/changelog/CHANGELOG.html

 

  • Fixed issue #1325113, where hand tracking was not working on Quest/Quest 2 when the Unity splash screen was disabled