Controller Tracking

Mount a controller on your rig as a fixed reference - and snap your mask back into perfect alignment anytime: one button, one tap.

🎯 What you get
A controller fixed-mounted to your cockpit rig becomes the mask's physical reference point. Whenever the mask no longer lines up - new session, playspace drift, headset re-localised - the fix is always the same two-second ritual: press Reset to controller, tap the controller, and the mask snaps back exactly where it belongs.

Every mask can be bound to your left or right Quest controller. In this guide we use that for one big win: the controller is installed permanently on your rig and serves as the mask's ground truth. You set it up and calibrate it once - from then on the mask is always re-alignable, no matter what the playspace does. The guide walks you through the one-time setup first, then the daily ritual: press Reset to controller, tap the controller awake, done.

🖥️ Everything here is done at your PC
🖥️ At your PC= headset off, working at the desktop - every step carries this badge

DCS (or another VR app) has to be running in the background so the controller is tracked (step 2), but you carry out every step at the desktop - you only slip the headset on to check the mask lines up. Steps 0-1 set up; steps 2-4 bind and calibrate the mask; step 5 is the daily re-align.

0

One-time setup: tracking prerequisites

🖥️ At your PC

For PassthroughForge to see your controllers at all, Virtual Desktop has to track them and forward the data to the PC - and the Quest must not silently replace the controller pose with a hand or body pose. Set these once:

SettingValue
VD Streaming → Advanced Options → Track controllers✓ checked
VD Streaming → Advanced Options → Forward tracking data to PC✓ checked (restart game/SteamVR after changing)
VD Input tab → Automatically hide controllers☐ un-ticked
Quest → Settings → Movement TrackingControllers only
Quest → Settings → Movement Tracking → Body TrackingOFF
VD Streaming → Hand TrackingOFF
Virtual Desktop menu, Streaming tab: Advanced Options with Track controllers and Forward tracking data to PC checked.
The Streaming tab: Track controllers and Forward tracking data to PC both checked.
⚠️ Why hand & body tracking must be OFF: both Quest and Virtual Desktop feed an inferred hand pose through the same tracking channel the controller uses. With hand or body tracking on, the moment you put the controller down, the mask starts following your hand instead - and PassthroughForge cannot tell the two apart. Turn them off at the source.
1

Mount the controller on your rig

🖥️ At your PC

Fix the controller rigidly to your cockpit rig - canopy arch, frame, anywhere solid near the mask. Two rules for the mount:

  • Keep it in view of the headset cameras. The Quest tracks controllers optically - a controller hidden behind you or under the desk cannot be tracked, and the reset in step 5 needs a tracked pose.
  • It must not wobble. The mount is your ground truth: if the controller shifts relative to the cockpit, the mask will re-align to the wrong spot. A solid clamp or strap beats tape - give it a gentle push to check (see the clip).
A real F/A-18 cockpit with a hand controller (LOCK/SHOOT grip) clamped to the canopy arch above the instrument panel - a fixed, rig-mounted reference controller.
Real example: a controller clamped to the canopy arch - fixed, solid, and in the headset's view.
The wobble test: push the mounted controller - it must not budge relative to the cockpit.
🔋 Quest controllers go to sleep. After a while without motion the controller powers its tracking LEDs down. That's fine - the whole workflow is built around it - but remember the one golden rule: a sleeping controller wakes on a physical tap or nudge, not on haptics and not on its own. That tap IS step 5.
2

Bind the mask to the controller

🖥️ At your PC
🥽 DCS (or another VR app) must be running.

Assigning a controller only works while you are in DCS or any other VR application - controller poses reach PassthroughForge only through the active VR session. Without one the [T] panel shows "no pose" and the binding just waits. So: start the sim, put the headset on once so the session is live, then do this step at your PC.

Select your mask, open the [T] Tracking section in the right-hand panel and set Tracking Target to Real Time Tracking Left Controller or Real Time Tracking Right Controller. Three things happen:

  • No jump. The mask stays exactly where it currently sits (a "position takeover") and tracks the controller from there.
  • The offset is calibrated automatically. The first takeover stores the controller-to-mask offset as the calibrated reference - the pose "Reset to controller" will snap back to later.
  • Place & Release is on by default. Selecting a controller auto-enables both mode checkboxes (step 3), so place → hold still → world-lock works out of the box.
The [T] Tracking section in PassthroughForge with the Tracking Target dropdown open, showing None (World), Real Time Tracking Left Controller and Real Time Tracking Right Controller.
The [T] Tracking section: pick your controller under Tracking Target.
Controller asleep when you switch? No problem - the panel shows "World-locked - waiting for LEFT controller to wake" and the mask stays put. Tap the controller; the takeover completes the moment it becomes tracked. The Mode: line at the top of the [T] section always tells you the current state: Tracked - following (live), Parked - world-locked, or Placed & released - world-locked.
3

Tick both mode boxes: align once, then world-locked

🖥️ At your PC

The goal of this workflow: the controller is used only at the start of a session to align the mask. After that the mask is world-locked and the controller just sleeps on its mount until the next session. Two checkboxes in the [T] section make that happen - both must be ticked (they are on by default when you pick a controller):

CheckboxWhy it must be on
Auto-freeze when idleWhile you align, the mask follows the controller in real time. Once the controller holds still for ~2 s (adjustable: Settings → Auto-freeze delay) or goes to sleep, the mask freezes to a rock-solid world anchor - no jitter, no standby jumps. This is what turns "aligned" into "locked" without you pressing anything.
Release to world after placingAfter that freeze the mask stays world-locked for good - controller motion will not drag it around mid-flight. The only way it re-attaches is the explicit Reset to controller action (step 5). This is what lets the mounted controller sleep through the whole session without ever touching your mask.
[T] Tracking panel with both checkboxes ticked; the Mode line reads Placed and released - world-locked; below it the Calibrate offset and Reset to controller buttons.
This is how it should look: both boxes ticked, Mode shows Placed & released - world-locked. Note the Calibrate offset and Reset to controller buttons for steps 4 & 5.

With both boxes on, every session follows the same simple pattern: align once at the start, the mask locks itself to the world two seconds later, and the controller goes back to sleep on its mount - done until the next Reset to controller. Here is exactly that moment in action: the keyboard shortcut Ctrl+Shift+Del (Reset ALL Masks to Controller), a tap on the mounted controller - and the mask snaps back:

4

Calibrate the offset

🖥️ At your PC

The calibrated offset is the stored relationship between the physical controller and the mask - the pose that Reset to controller restores. The first takeover sets it automatically, but after you've fine-tuned the mask (nudged it with the keyboard shortcuts until it sits perfectly on the real cockpit), lock that perfection in: press Calibrate offset in the [T] section.

💡 With a fixed-mounted controller this is gold: the mount is your physical ground truth. Whatever happens to the playspace - a drift, a re-localisation, a new session - controller + calibrated offset always describes where the mask belongs, and one press of Reset to controller puts it back there. As soon as an offset is calibrated, the Reset to controller button appears next to it.
⚠️ Nudge the mask later? Re-calibrate, or it snaps back. Because the mask is already world-locked (both boxes ticked), you can move it any time with the keyboard shortcuts - it stays put, no need to switch anything back to World first. But a nudge does not update the stored offset on its own: the mask sits right until the next Reset to controller, which then snaps it back to the old offset and undoes your move. So after every fine-tune: tap the controller awake → press Calibrate offset → Save Profile. One button - that is the whole trick.
5

Daily use: Reset to controller

🖥️ At your PC

This is the whole ritual on a normal flying day, whenever the mask no longer sits where it should (new session, playspace drift, headset re-localised):

  1. Press Reset to controller - the [T]-panel button, Ctrl+Shift+Del (default, resets all controller masks), or a HOTAS button you bound under Settings → Mask Shortcuts.
  2. The controller is usually asleep - that's expected. The reset arms itself and waits up to 30 seconds for the controller.
  3. Tap the controller. It wakes, the headset cameras re-acquire it, and PassthroughForge waits a beat for the pose to settle (a waking controller reports garbage for a moment - the reset only fires on a stable, averaged pose, so the mask can never be hurled across the room by one bad frame).
  4. The reset fires by itself: the mask snaps to controller + calibrated offset and immediately world-locks there. Done - hands back on the stick.

👆 This is exactly the sequence in the 3D animation up in step 3 (Ctrl+Shift+Del → tap → snap).

🔊 Hear it, don't watch it: enable Settings → Reset-ready controller sound and PassthroughForge plays a sound the moment the tapped controller becomes tracked after you pressed Reset - your audio go-ahead while your eyes stay in the sim.
🎮 Pro tip: bind Reset to controller to a HOTAS button. Mask drifted mid-flight? One button, one tap on the mounted controller, and everything is back - without touching the keyboard.

Where to next