# Right handed scenes have .Forward pointing backwards

**URL:** <https://forum.babylonjs.com/t/right-handed-scenes-have-forward-pointing-backwards/60560>\
**Category:** Bugs\
**Created:** [September 18, 2025, 7:18pm UTC](https://forum.babylonjs.com/t/right-handed-scenes-have-forward-pointing-backwards/60560 "2025-09-18T19:18:34Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![lima](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/lima/32/47720_2.png) [@lima](https://forum.babylonjs.com/u/lima)\
**Post date:** [September 18, 2025, 7:18pm UTC](https://forum.babylonjs.com/t/right-handed-scenes-have-forward-pointing-backwards/60560/1 "2025-09-18T19:18:34Z")

</div>

> **[Babylon.js Playground](https://playground.babylonjs.com/?BabylonToolkit#BDQ72M%235)**
>
> Babylon.js playground is a live editor for Babylon.js WebGL and WebGPU 3D scenes

I create a sphere and move it in the camera’s .Forward direction. it is now behind the camera. Is this intended behavior?

I found potentially related info but unclear if this is intentional.

> <https://github.com/BabylonJS/Babylon.js/pull/16691>
>
> This fixes an issue we have with cameras when in right-handed system where setti…ng \`rotation\` or \`rotationQuaterion\` on a camera in right-handed system actually sets the camera 180 flipped from what is represented in the view matrix.
> 
> You can see this problem using this PG: https://playground.babylonjs.com/#BDQ72M#1
> On line 14, we are setting the \`rotation\` to \`0,0,0\`, but the rotation from the world matrix of the camera is \`0,PI,0\`.
> 
> This change fixes the problem, but it is a breaking change for setting the rotation properties since it will behave 180 flipped from before. The default orientation of camera will still work as before (i.e., always point to +Z for both LH and RH) to maintain backwards compatibility as much as possible.
> 
> The fix involves changing the reference point of camera. The code mistakenly uses the same reference point of \`0,0,1\` for both LH and RH view matrix. Babylon target camera's LH and RH view matrices are flipped by Z. Thus, the reference point should also flip by Z for the math to work.
> 
> There is a secondary problem in \`setTarget\` where it is hard-coded to use LH math. This has been fixed to consider RH.

> [@Right handed camera is flipped when parented](https://forum.babylonjs.com/t/right-handed-camera-is-flipped-when-parented/59357):
>
> Hey there, I upgraded my dependencies recently and came accross this breaking change which makes right handed target cameras rotation flipped on the Y axis when using a right handed system: This creates 2 issues for my setup of a camera parented to a TransformNode: Camera rotation with mouse is inverted on the Y axis =\> I fixed it by inverting the camera quaternion x component Camera is not pointing in the same direction as its parent For the second issue, I made the following PG. The ide…

---

<div class="post-metadata">

**Author:** ![sebavan](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/sebavan/32/57_2.png) [@sebavan](https://forum.babylonjs.com/u/sebavan)\
**Post date:** [September 18, 2025, 8:01pm UTC](https://forum.babylonjs.com/t/right-handed-scenes-have-forward-pointing-backwards/60560/2 "2025-09-18T20:01:49Z")

</div>

cc @alexchuber and @bghgary

---

<div class="post-metadata">

**Author:** ![bghgary](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/bghgary/32/48532_2.png) [@bghgary](https://forum.babylonjs.com/u/bghgary)\
**Post date:** [September 18, 2025, 9:09pm UTC](https://forum.babylonjs.com/t/right-handed-scenes-have-forward-pointing-backwards/60560/3 "2025-09-18T21:09:47Z")

</div>

`BABYLON.Vector3.Forward` takes a parameter for right handed or not. Adding that makes the direction consistent.

PG: [https://playground.babylonjs.com/?BabylonToolkit#BDQ72M#6](https://playground.babylonjs.com/?BabylonToolkit#BDQ72M#6)

---

<div class="post-metadata">

**Author:** ![lima](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/lima/32/47720_2.png) [@lima](https://forum.babylonjs.com/u/lima)\
**Post date:** [September 18, 2025, 10:40pm UTC](https://forum.babylonjs.com/t/right-handed-scenes-have-forward-pointing-backwards/60560/4 "2025-09-18T22:40:38Z")

</div>

thanks! is it possible to implement such that it is automatically set in right handed scenes?

---

<div class="post-metadata">

**Author:** ![bghgary](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/bghgary/32/48532_2.png) [@bghgary](https://forum.babylonjs.com/u/bghgary)\
**Post date:** [September 18, 2025, 11:19pm UTC](https://forum.babylonjs.com/t/right-handed-scenes-have-forward-pointing-backwards/60560/5 "2025-09-18T23:19:48Z")

</div>

The handedness is set on a scene, so we could pass in the scene and make the default the last created scene. @Deltakosh @sebavan What do you think?

---

<div class="post-metadata">

**Author:** ![Deltakosh](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/deltakosh/32/26635_2.png) [@Deltakosh](https://forum.babylonjs.com/u/Deltakosh)\
**Post date:** [September 18, 2025, 11:39pm UTC](https://forum.babylonjs.com/t/right-handed-scenes-have-forward-pointing-backwards/60560/6 "2025-09-18T23:39:36Z")

</div>

I like it!

---

<div class="post-metadata">

**Author:** ![bghgary](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/bghgary/32/48532_2.png) [@bghgary](https://forum.babylonjs.com/u/bghgary)\
**Post date:** [September 22, 2025, 3:35pm UTC](https://forum.babylonjs.com/t/right-handed-scenes-have-forward-pointing-backwards/60560/7 "2025-09-22T15:35:25Z")

</div>

@lima Would you like to contribute a PR for this?
