Skip to content

Virtual Tracker

The Virtual Tracker generates virtual tracker data that motion compensation software uses to cancel out your simulator’s physical movement from the VR headset view. Without motion compensation, every time your platform moves, the VR world moves with it — making the experience nauseating and unusable. The Virtual Tracker solves this by telling the motion compensation software exactly how the platform is moving so it can counter-adjust the VR view.

DR Sim Manager supports OXRMC (OpenXR Motion Compensation) and OVRMC (OpenVR Motion Compensation) via the FlyPT Mover data format.


Why Use Virtual Tracker Instead of a Physical Tracker?

Section titled “Why Use Virtual Tracker Instead of a Physical Tracker?”

Using the Virtual Tracker is a better alternative to relying on a physical tracking device (such as a Vive Tracker mounted on your rig):

  • More precise — The Virtual Tracker sends the exact computed motion data rather than a noisy optical/IMU tracking signal.
  • No line of sight issues — Physical trackers can lose tracking when base stations are occluded. The Virtual Tracker never loses tracking.
  • No additional hardware — No need to purchase, mount, charge, or calibrate a physical tracker.
  • Zero latency — The position is known instantly because it comes from the motion processing pipeline, not from an external measurement.

  1. In DR Sim Manager, go to the Outputs tab and click the + tab.
  2. Select Virtual Tracker from the list.
  3. The output is now active and writing tracker data.

Step 2: Configure OXRMC (OpenXR Motion Compensation)

Section titled “Step 2: Configure OXRMC (OpenXR Motion Compensation)”
  1. Locate the OXRMC configuration file at: C:\Users\<YourUsername>\AppData\Local\OpenXR-MotionCompensation\OpenXR-MotionCompensation.ini
  2. Open it in a text editor.
  3. In the [tracker] section, set the tracker type to flypt:
[tracker]
; supported modes: controller, vive, yaw, srs and flypt
type = flypt
  1. Save the file and restart SteamVR / your OpenXR runtime.

Step 3: Configure OVRMC (OpenVR Motion Compensation)

Section titled “Step 3: Configure OVRMC (OpenVR Motion Compensation)”

If using OVRMC instead of OXRMC, select “FlyPT Mover” as the tracker source in the OVRMC settings panel.

By default, the Virtual Tracker’s position is set to the Center of Rotation (CoR) of your simulator. For the best VR experience, you may want to offset the tracker position to match your eyepoint (the approximate position of your head/eyes on the rig). This simplifies alignment in OXRMC or OVRMC.

Set the offset values in millimeters:

  • Sway Offset — Left/right offset from the CoR.
  • Surge Offset — Forward/backward offset from the CoR.
  • Heave Offset — Up/down offset from the CoR.

How frequently the Virtual Tracker writes position data, in milliseconds. The default is 2 ms (500 Hz). This should be fast enough for all motion compensation software.

When enabled, the Virtual Tracker uses the platform’s reported position (from a controller that reports its actual position, such as YawVR with Request Position enabled) instead of the computed motion data. This can improve accuracy for controllers that have position feedback.

When disabled (default), the Virtual Tracker uses the computed position from DR Sim Manager’s motion processing pipeline.

Each axis (Sway, Surge, Heave, Pitch, Roll, Yaw) has an independent Smoothness slider that controls the amount of lowpass filtering applied to the tracker data. Higher values produce smoother tracker movement but add a small amount of latency.

  • 0 — No smoothing (raw data). Best for low-latency setups.
  • Low values (0.1–0.3) — Light smoothing. Reduces high-frequency noise while keeping latency minimal.
  • Higher values — More aggressive smoothing. Useful if the VR view appears jittery.

Each axis has an independent Gain value that scales the tracker movement for that axis:

  • 1.0 (default) — The tracker reports the exact motion.
  • Greater than 1.0 — Amplifies the motion compensation for this axis.
  • Less than 1.0 — Reduces the motion compensation for this axis.

In most cases, gain should stay at 1.0. Adjust only if the VR compensation consistently over- or under-corrects on a specific axis.

Define custom offsets for Sway, Surge, and Heave to move the tracker position from the Center of Rotation to a different point (typically your eyepoint). Values are in millimeters.


Understanding where the CoR is located on your rig is important for setting up the offset correctly:

  • Hexapods — The CoR is at the centroid of the upper platform.
  • Quadposts — The CoR is located on the plane that the four actuators rest on, which could be either the ground or the cup mounts if placed on a surge or sway platform.

If unsure, start with all offsets at zero and adjust if the VR compensation feels off.


  1. Check OXRMC/OVRMC is running — The motion compensation software must be active and configured to use the flypt tracker type.
  2. Check the Virtual Tracker output is enabled — Ensure the output tab is active in DR Sim Manager.
  3. Check tracker type — Verify the OXRMC config file has type = flypt in the [tracker] section.
  4. Restart SteamVR — After changing the OXRMC config, SteamVR must be restarted for changes to take effect.
  • Adjust the Offset — If the VR view tilts or shifts slightly when the platform moves, the tracker position doesn’t match your eyepoint. Adjust the Sway, Surge, and Heave offsets to better match your head position.
  • Check gain values — If compensation consistently over- or under-corrects on one axis, adjust the gain for that axis.

VR view “swims” or drifts during motion

Section titled “VR view “swims” or drifts during motion”
  • Reduce smoothing — Too much smoothing adds latency between the platform movement and the VR compensation. Lower the smoothness values.
  • Check output rate — Ensure the output rate is at 2 ms or lower. Higher values reduce update frequency.
  • Increase smoothing — A small amount of smoothing (0.1–0.2) can reduce high-frequency noise without adding noticeable latency.
  • Check your sim config — Jitter may be caused by noisy telemetry or aggressive tuning settings (high gain, low smoothing in your motion profile).

Use the MMF Reader tool bundled with OXRMC to inspect the data being written to the memory-mapped file. This shows the live values DR Sim Manager is sending and is useful for confirming the Virtual Tracker is working correctly independent of the motion compensation software.

If you have a YawVR with Request Position enabled, you can enable Use Reported Position on the Virtual Tracker. This uses the YawVR’s actual reported position for VR compensation rather than the computed position, which can improve accuracy since it accounts for any mechanical differences between the commanded and actual position.