Head Tracking

An OpenTrack compatible head tracking mod for Outer Wilds

Outer Wilds Head Tracking

Mod GIF

An unofficial head tracking mod for Outer Wilds that lets you look around naturally using your phone or dedicated head tracker.

Features

  • Decoupled look + aim: Look around freely with your head while your aim stays independent
  • 6DOF head tracking: Yaw, pitch, roll rotation plus positional tracking (lean in/out/side-to-side) via OpenTrack UDP protocol
  • Neck model: Simulates realistic head rotation around the neck pivot, so tilting your head moves your eyes along a natural arc
  • Adaptive smoothing: Automatically adjusts smoothing for WiFi/remote connections to reduce jitter
  • Smart auto-disable: Tracking automatically pauses during model ship piloting, signalscope zoom, and pause menu
  • Full game integration: Flashlight follows your gaze, Nomai Translator targets where you look, quantum objects respect head-tracked view direction

Requirements

Quick Start

  1. Install pixi
  2. Clone this repository
  3. Run pixi run install
  4. Configure OpenTrack to output UDP data to 127.0.0.1:4242
  5. Launch the game

Manual Installation

See INSTALL.md for detailed manual installation instructions.

Head Tracking Setup

This mod receives tracking data via the OpenTrack UDP protocol (port 4242 by default). You can use a phone or webcam with OpenTrack or any OpenTrack-compatible head tracking software.

The mod automatically detects remote connections (e.g., phone over WiFi) and applies smoothing to compensate for network jitter.

Controls

KeyAction
HomeRecenter tracking (set current head position as neutral)
EndToggle head tracking on/off
Page UpToggle positional tracking on/off

Configuration

Settings are available in the OWML Mod Manager or in-game mod menu. The mod creates a config file with default settings on first run. Edit it to customize:

SettingDefaultDescription
opentrackPort4242UDP port for receiving tracking data
yawSensitivity1.0Horizontal look sensitivity
pitchSensitivity1.0Vertical look sensitivity
rollSensitivity1.0Head tilt sensitivity
smoothing0.0Manual smoothing (0 = none, 1 = max)
adaptiveSmoothingtrueAuto-apply smoothing for remote/WiFi connections
positionEnabledtrueEnable positional tracking (lean in/out/side-to-side)
positionSensitivityX4.0Lateral position multiplier
positionSensitivityY4.0Vertical position multiplier
positionSensitivityZ4.0Depth position multiplier
positionLimitX0.30Max lateral displacement (meters)
positionLimitY0.20Max vertical displacement (meters)
positionLimitZ0.40Max depth displacement (meters)
positionSmoothing0.15Position smoothing factor
neckModelEnabledtrueSimulate head rotating around neck pivot
neckModelHeight0.10Neck-to-eyes vertical distance (meters)
neckModelForward0.08Neck-to-eyes forward distance (meters)

Building from Source

This project uses pixi for build management.

# Install dependencies
pixi run restore

# Build the mod
pixi run build

# Build and install to OWML Mods folder
pixi run install

# Create release package
pixi run package

The mod depends on the shared CameraUnlock.Core library (included as a git submodule in the shared/ directory).

Project Structure

outer-wilds/
├── manifest.json              # OWML mod manifest
├── default-config.json        # Default settings
├── pixi.toml                  # Build configuration
├── scripts/
│   ├── deploy.ps1             # Deploy to OWML
│   ├── package.ps1            # Create release zip
│   └── uninstall.ps1          # Remove from OWML
└── src/OuterWildsHeadTracking/
    ├── HeadTrackingMod.cs     # Main mod entry point
    ├── Camera/
    │   ├── Core/              # Camera rotation patches
    │   ├── Effects/           # Flashlight, fog, quantum
    │   ├── UI/                # Reticle, markers, translator
    │   └── Utilities/         # Rotation helpers
    ├── Configuration/         # Constants
    └── Tracking/              # OpenTrack client

Technical Details

  • Built for .NET Framework 4.8
  • Uses Harmony 2.4 for runtime patching
  • Integrates with OWML 2.9+
  • Shared core library provides: UDP receiver, rotation processing, smoothing algorithms

License

MIT License - see LICENSE file for details.

Credits


Comments


🔥
Loading comments...
(Javascript needs to be enabled for this)

This page isn't official, nor affiliated with Mobius Digital, or anyone really. RSS