All Oculus Quest developers MUST PASS the concept review prior to gaining publishing access to the Quest Store and additional resources. Submit a concept document for review as early in your Quest application development cycle as possible:

For additional information and context, please see "Submitting Your App to the Oculus Quest Store".
Welcome to the Oculus Developer Forums!

Your participation on the forum is subject to the Oculus Code of Conduct.

In general, please be respectful and kind. If you violate the Oculus Code of Conduct, your access to the developer forums may be revoked at the discretion of Oculus staff.

transfer Hand tracking skeleton to custom Hand rig

El_inEl_in Posts: 20
Brain Burst
I would like to map the hand tracking bones to my custom avatar with arm IK. But the hand bones from the hand tracking sample framework are generated on runtime and until I cant test it in the editor I don't know how to re-target the hand transformation data.


  • RJdoesVRRJdoesVR Posts: 54 Oculus Start Member
    It's a little bit of extra work, but the fbx file for the hands they use are in the Mobile SDK. It's in the samples for it

  • El_inEl_in Posts: 20
    Brain Burst
    Got it.
    But when searching for the bones or marker by name unity doesn't find anything on runtime  :(

  • alex.chesseralex.chesser Posts: 9
    Hey Quacklin, looks like we're trying to crack the same nut here... have you made any progress since this post?  I was hoping to get a bit of time this weekend to dig a little deeper. Would love to have an update on where you ended up eventually.
  • Tweed_MachineTweed_Machine Posts: 1
    i've got an issue referencing the bones for the left hand. There is a list of the "boneID" in the OVRSkeleton.cs it states it in the code. just find that bone name on runtime Gameobject.Find("Hand_Index1").transform.position; but this doesn't help me as it works for Right Hand only.
  • alex.chesseralex.chesser Posts: 9
    Oh my gosh! I forgot this one.  I should probably let ya'll know I solved this a day later.

    there's a video here (my account doesn't have permission to post links right now so you've got to add the dots yourself)


    There's still an outstanding issue with the thumbs, but that's pretty minor.

    @Tweed_Machine - you'll find that using a cached reference to the object is a lot faster and more reliable that gameobject.find.

    Something like: 

    // drag this from the editor view or assign via GetComponent in AWAKE or START
    [SerializeField] OVRSkeleton LeftHandSkeleton;


    // later in your code.
    Transform LeftHand_Thumb1 = LeftHandSkeleton.Bones[(int)OVRSkeleton.BoneId.Hand_Thumb1].Transform

Sign In or Register to comment.