Skip to main content
Up and Coming
March 12, 2020

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

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)


Does anyone have a fix ?

4 replies

Up and Coming
May 3, 2020
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.
New Participant
May 4, 2020
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!
yiliu
New Participant
July 19, 2021

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
New Participant
July 19, 2021

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