Forum Discussion

killwish's avatar
killwish
Honored Guest
17 days ago

Meta Avatars Hands gripping controllers look unnatural. How to fix in Unity?

Hey everyone,

I’m working on a VR multiplayer project using Meta Avatars with Photon Fusion and Meta XR Building Blocks in Unity, and I’ve run into an issue with hand realism.

Current Setup:

  • Using Meta XR SDK (Building Blocks)
  • Avatar spawned via Networked Avatar (Fusion)
  • AvatarSDK → OvrAvatarEntity + Sample Input Manager (Standalone mode)
  • OVR Camera Rig assigned correctly
  • Controllers tracked and avatar loads fine

Problem:

  • Avatar hands appear and track correctly
  • But grip looks unnatural — like the controllers are “stuck” to the hands
  • Fingers don’t wrap properly around the controller
  • No subtle finger behavior (like index resting on trigger or thumb on joystick)
  • Looks very different from Meta Quest Home environment

What I’ve Tried:

  • Assigning OVR Camera Rig to Sample Input Manager
  • Switching Body Tracking Mode to Standalone
  • Trying OvrAvatarCustomHandPose (but skeleton is runtime-generated, tricky to bind)
  • Adjusting controller transforms manually
  • Testing OVRInput values (trigger, grip, touch — they work)

Questions:

  1. How do you achieve realistic controller grip with Meta Avatars?
  2. Are there any recommended workflows or examples for “Meta Home–level” hand realism?

Would really appreciate any guidance, sample setups, or best practices 🙏
Thanks!

1 Reply

  • Degly's avatar
    Degly
    Start Partner

    I get your frustration!

    As far as I have seen when I used Meta Avatars before, they don’t automatically give you “Home-level” hand poses, you need to drive finger poses yourself.

    If this information is not updated I would love if someone from the community could provide the new info, but for now in case it helps:

    • Use OvrAvatarInputTrackingDelegate + OvrAvatarInputControlDelegate properly
    • Feed trigger, grip, thumb touch values into the avatar each frame
    • Enable controller-driven hand poses (not just tracking)
    • Optionally use OvrAvatarCustomHandPose for better grip shapes

    In short: you’re missing the input → pose mapping layer
    Good luck!

→ Find helpful resources to begin your development journey in Getting Started

→ Get the latest information about HorizonOS development in News & Announcements.

→ Access Start program mentor videos and share knowledge, tutorials, and videos in Community Resources.

→ Get support or provide help in Questions & Discussions.

→ Show off your work in What I’m Building to get feedback and find playtesters.

→ Looking for documentation?  Developer Docs

→ Looking for account support?  Support Center

→ Looking for the previous forum?  Forum Archive

→ Looking to join the Start program? Apply here.

 

Recent Discussions