# WebXR Hand Tracking: Hands aren't positioned correctly when XRCamera is parented to a Mesh/TransformNode

**URL:** <https://forum.babylonjs.com/t/webxr-hand-tracking-hands-arent-positioned-correctly-when-xrcamera-is-parented-to-a-mesh-transformnode/59881>\
**Category:** Questions\
**Created:** [August 3, 2025, 2:20am UTC](https://forum.babylonjs.com/t/webxr-hand-tracking-hands-arent-positioned-correctly-when-xrcamera-is-parented-to-a-mesh-transformnode/59881 "2025-08-03T02:20:48Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Keslinger](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/keslinger/32/9810_2.png) [@Keslinger](https://forum.babylonjs.com/u/Keslinger)\
**Post date:** [August 3, 2025, 2:20am UTC](https://forum.babylonjs.com/t/webxr-hand-tracking-hands-arent-positioned-correctly-when-xrcamera-is-parented-to-a-mesh-transformnode/59881/1 "2025-08-03T02:20:48Z")

</div>

Howdy.

I’m using WebXR and have a shuttle model, exported from Blender. I’m parenting the XRCamera to a TransformNode within the shuttle mesh. So far, so good. I move the shuttle around and the XRCamera stays within the cockpit. The problem I’m encountering is with the controllers (Quest 3). When I use the actual controllers, they stay in view. But if I use hand tracking, the hand models don’t track to the headset position like the controllers do. They seem to ignore the parent offset (maybe local only?). I tried one of your previous playgrounds to verify this, and I’m seeing the same behavior. Is there something I should be doing instead when using handtracking and parenting the XRCamera to a mesh/TransformNode?

Thanks!

> [@How do you update the WebXR camera if inside a moving elevator/space ship/car?](https://forum.babylonjs.com/t/how-do-you-update-the-webxr-camera-if-inside-a-moving-elevator-space-ship-car/18501):
>
> There are several scenarios where I would like to update a player’s position when they are in or on another mesh. For example a player steps onto an elevator platform, presses a button and then is lifted up with the platform. Or several players are on a ship and when the ship’s position is translated, all the riders move relative to the boat. This resembles a classic parenting issue where the child is the webxr camera and the players can still teleport around on the ship but wherever the shi…

---

<div class="post-metadata">

**Author:** ![alexchuber](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/alexchuber/32/52000_2.png) [@alexchuber](https://forum.babylonjs.com/u/alexchuber)\
**Post date:** [August 4, 2025, 2:27pm UTC](https://forum.babylonjs.com/t/webxr-hand-tracking-hands-arent-positioned-correctly-when-xrcamera-is-parented-to-a-mesh-transformnode/59881/2 "2025-08-04T14:27:19Z")

</div>

cc @docEdub

---

<div class="post-metadata">

**Author:** ![docEdub](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/docedub/32/14525_2.png) [@docEdub](https://forum.babylonjs.com/u/docEdub)\
**Post date:** [August 5, 2025, 4:41am UTC](https://forum.babylonjs.com/t/webxr-hand-tracking-hands-arent-positioned-correctly-when-xrcamera-is-parented-to-a-mesh-transformnode/59881/3 "2025-08-05T04:41:27Z")

</div>

Fixed with [PR 16969](https://github.com/BabylonJS/Babylon.js/pull/16969).

Thanks for reporting this!
