A focused guide for the specific situation where everything works in your VR app except head tracking. The view stays stuck in one direction no matter how you move your head.
Use this guide if ALL of these are true:
If your symptoms don't match — for example, if the screen is black, or controllers don't work — use the Step-by-Step or Specific Situations guides instead.
The Quest 3S has cameras and sensors that track where your head is in space. Unity needs to pass that head position into your Main Camera every frame. If something disconnects that flow of information, the camera stays at a fixed point in your scene — but everything else (controllers, lighting, UI) keeps working normally.
The reason controllers still work is that they have their own separate tracking pipeline. So when ONLY head tracking is broken, the problem is almost always in how the Main Camera is set up — not in OpenXR, the headset, or your scripts.
Open the Hierarchy window (left side of Unity).
Find the Main Camera. It should be nested inside XR Origin → Camera Offset. Click on it to select it.
Look in the Inspector (right side of Unity). Scroll until you find a component called Tracked Pose Driver (Input System).
If you don't see it at all, skip to Check 3 — your camera is missing the component entirely.
The Tracked Pose Driver has two settings: Position Input and Rotation Input. Each one should point to a specific action.
Correct bindings (what you want to see):
<XRHMD>/centerEyePosition<XRHMD>/centerEyeRotationCommon WRONG bindings (these cause stuck head tracking):
devicePosition instead of centerEyePositiondeviceRotation instead of centerEyeRotationSave (Ctrl + S), then Build and Run to your Quest 3S.
Does the world move when you turn your head? If yes, you're done! If no, continue to Check 2.
Look at the structure of your scene in the Hierarchy. It should look exactly like this:
Common mistake: A separate "Main Camera" sitting at the top level of the Hierarchy, NOT inside XR Origin:
If your Main Camera is in the wrong place:
1. Click and drag the Main Camera onto the Camera Offset GameObject inside XR Origin. It should become a child.
2. If you have TWO cameras (one outside XR Origin and one inside), delete the one outside. Only one camera should be tagged MainCamera at a time.
3. After moving the camera, click on it and check the Inspector — the Tag at the top should say MainCamera.
XR → XR Origin (VR).Save and Build and Run again.
Does head tracking work? If yes, you're done. If no, continue to Check 3.
Click on the Main Camera in your Hierarchy.
In the Inspector, scroll all the way down through every component on it.
Check if BOTH of these are attached to the Main Camera:
Tracked Pose Driver (the old XR Legacy version)Tracked Pose Driver (Input System) (the new version Unity 6 uses)When both are attached, they fight over the camera's position, which can stop head tracking entirely.
Tracked Pose Driver (the one WITHOUT "Input System" in its name) and choose Remove Component. Keep only the Input System version.If you don't see ANY Tracked Pose Driver component on the camera:
Look for either of these components on the Main Camera:
Parent ConstraintPosition Constraint or Rotation ConstraintA constraint locks the camera's position or rotation to another object, which prevents the Tracked Pose Driver from updating it.
Save and Build and Run again.
Working? If yes, you're done. If no, continue to Check 4.
In the Hierarchy, click on XR Origin (the parent of Camera Offset).
In the Inspector, find the XR Origin component. Look for a setting called Tracking Origin Mode.
Set it to one of:
Avoid:
Save and Build and Run again.
Working? If yes, you're done. If no, the final check is on the headset itself.
Put the headset on. If you see a message asking you to set up a play area or Guardian boundary, you MUST complete this setup before tracking will work in any app.
Follow the on-screen prompts to either set up a stationary boundary or a room-scale boundary.
The Quest 3S uses cameras on the outside of the headset to see your room. It needs:
Tracking can fail or freeze when:
If you've made it this far, try a full restart of the headset itself:
1. Hold the power button on the right side of the headset for about 3 seconds.
2. Select Restart from the menu that appears.
3. Wait for the headset to fully boot up, then open your app again.
Note: The Quest 3S's tracking system occasionally gets into a bad state where it stops sending data to apps. A restart usually clears this.
When you turn your head left, right, up, or down, the world rotates smoothly to match. When you lean forward, you can see closer to objects in your scene. When you walk a few steps in your room, your in-game position moves with you. Head tracking should feel natural and instant — if there's any lag or stutter, that's a different issue (usually performance, not setup).
Help → About Unity)Window → Package Manager → In Project)Settings → System on the headset)Ctrl + P) if you're going to work through it next to your headset.