{"id":50909221,"url":"https://github.com/itsloopyo/easy-delivery-co-headtracking","last_synced_at":"2026-06-16T08:30:57.133Z","repository":{"id":363164079,"uuid":"1221533036","full_name":"itsloopyo/easy-delivery-co-headtracking","owner":"itsloopyo","description":"An OpenTrack compatible head tracking mod for Easy Delivery Co","archived":false,"fork":false,"pushed_at":"2026-06-07T19:05:18.000Z","size":15094,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-07T19:06:30.924Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itsloopyo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-26T10:46:24.000Z","updated_at":"2026-06-07T19:05:21.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/itsloopyo/easy-delivery-co-headtracking","commit_stats":null,"previous_names":["itsloopyo/easy-delivery-co-headtracking"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/itsloopyo/easy-delivery-co-headtracking","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsloopyo%2Feasy-delivery-co-headtracking","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsloopyo%2Feasy-delivery-co-headtracking/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsloopyo%2Feasy-delivery-co-headtracking/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsloopyo%2Feasy-delivery-co-headtracking/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itsloopyo","download_url":"https://codeload.github.com/itsloopyo/easy-delivery-co-headtracking/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsloopyo%2Feasy-delivery-co-headtracking/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34398405,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-16T02:00:06.860Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-16T08:30:56.308Z","updated_at":"2026-06-16T08:30:57.127Z","avatar_url":"https://github.com/itsloopyo.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Easy Delivery Co Head Tracking\n\nAn unofficial BepInEx mod that adds OpenTrack head tracking to Easy Delivery Co, so you can look around naturally in game just by moving your heaad.\n\n![Mod GIF](https://raw.githubusercontent.com/itsloopyo/easy-delivery-co-headtracking/main/assets/readme-clip.gif)\n\n## Features\n\n- **Decoupled look and aim** - head tracking moves the camera; steering stays on your mouse/controller\n- **6DOF positional tracking** - lean and peek with head position\n\n## Requirements\n\n- [Easy Delivery Co](https://store.steampowered.com/app/3293010/Easy_Delivery_Co/) (Steam or Xbox/Game Pass)\n- [OpenTrack](https://github.com/opentrack/opentrack) or a compatible head tracking app (smartphone, webcam, or dedicated hardware)\n- Windows 10/11\n\n## Installation\n\n1. Download the latest installer ZIP from the [Releases page](https://github.com/itsloopyo/easy-delivery-co-headtracking/releases)\n2. Extract the ZIP anywhere\n3. Double-click `install.cmd`\n4. Configure OpenTrack to output UDP to `127.0.0.1:4242`\n5. Launch the game\n\nThe installer auto-detects your game via Steam registry lookup. If it can't find your install:\n- Set the `EASY_DELIVERY_CO_PATH` environment variable to your game folder, or\n- Run from a command prompt: `install.cmd \"D:\\Games\\Easy Delivery Co\"`\n\n### Manual Installation\n\nFor users who prefer to place files by hand, or who download the Nexus ZIP (which contains only the mod DLLs):\n\n1. Install [BepInEx 5.4.23.5 x64](https://github.com/BepInEx/BepInEx/releases/tag/v5.4.23.5) to your game folder\n2. Run the game once to let BepInEx initialize\n3. Copy these DLLs to `BepInEx/plugins/`:\n   - `EasyDeliveryCoHeadTracking.dll`\n   - `CameraUnlock.Core.dll`\n   - `CameraUnlock.Core.Unity.dll`\n\n## Setting Up OpenTrack\n\n1. Download and install [OpenTrack](https://github.com/opentrack/opentrack/releases)\n2. Configure your tracker as input\n3. Set output to **UDP over network**\n4. Host: `127.0.0.1`, Port: `4242`\n5. Start tracking before launching the game\n\n### Webcam Setup\n\nNo special hardware needed - OpenTrack's built-in **neuralnet tracker** uses any webcam for 6DOF face tracking.\n\n1. In OpenTrack, set the input to **neuralnet tracker**\n2. Select your webcam in the tracker settings\n3. Set output to **UDP over network** (`127.0.0.1:4242`)\n4. Start tracking before launching the game\n5. Recenter in OpenTrack via its hotkey, and press **Home** in-game to recenter the mod as needed\n\n### Phone App Setup\n\nThis mod includes built-in smoothing for network jitter, so you can send directly from your phone on port 4242 without needing OpenTrack on PC.\n\n1. Install an OpenTrack-compatible head tracking app (SmoothTrack, Head Tracker, etc.)\n2. Configure it to send to your PC's IP on port 4242 (run `ipconfig` to find it)\n3. Set the protocol to OpenTrack/UDP\n\n**With OpenTrack (optional):** If you want curve mapping or visual preview, route through OpenTrack. Set OpenTrack's input to \"UDP over network\" on a different port (e.g. 5252), point your phone app at that port, and set OpenTrack's output to `127.0.0.1:4242`. Make sure your firewall allows incoming UDP on the input port.\n\n## Controls\n\nTwo equivalent binding sets - use whichever your keyboard has:\n\n| Action                       | Nav-cluster | Chord           |\n|------------------------------|-------------|-----------------|\n| Recenter                     | `Home`      | `Ctrl+Shift+T`  |\n| Toggle tracking              | `End`       | `Ctrl+Shift+Y`  |\n| Cycle tracking mode          | `Page Up`   | `Ctrl+Shift+G`  |\n| Toggle yaw mode              | `Page Down` | `Ctrl+Shift+H`  |\n| Toggle aim reticle           | `Insert`    | `Ctrl+Shift+U`  |\n\n`Page Up` / `Ctrl+Shift+G` cycles tracking mode:\n\n1. Normal head-tracked gameplay (rotation + position)\n2. Rotation only (positional tracking disabled)\n3. Position only (rotational tracking disabled)\n4. Back to normal\n\nThe `Ctrl+Shift+\u003cletter\u003e` chords are provided for keyboards without a navigation cluster (laptops, 60% / TKL layouts). Both bindings fire the same action.\n\n## Configuration\n\nThe mod creates a config file at `BepInEx/config/com.cameraunlock.easydeliveryco.headtracking.cfg` on first run. Edit it to customize:\n\n```ini\n[General]\nEnabledOnStartup = true          # Start with tracking enabled\nShowStartupNotification = true   # Show controls on startup\nWorldSpaceYaw = true             # true = horizon-locked yaw, false = camera-local\n\n[UI]\nShowConnectionNotifications = true\nShowReticle = false              # Aim reticle (not needed for driving)\n\n[Keybindings]\nToggleKey = End\nRecenterKey = Home\nToggleReticleKey = Insert\nCycleTrackingModeKey = PageUp    # Cycle: full -\u003e rotation only -\u003e position only\nYawModeKey = PageDown            # Toggle world-locked vs camera-local yaw\n\n[Network]\nUDPPort = 4242                   # Must match OpenTrack output port\n\n[Sensitivity]\nYawSensitivity = 1.0             # Horizontal rotation (0.1-3.0)\nPitchSensitivity = 1.0           # Vertical rotation (0.1-3.0)\nRollSensitivity = 1.0            # Head tilt (0.0-3.0)\n\n[Smoothing]\nSmoothing = 0.0                  # 0 = responsive, 1 = heavy (adds latency)\n\n[Position]\nPositionEnabled = true           # Enable lean/positional tracking\nPositionSensitivityX = 1.0       # Lateral sensitivity (0.0-5.0)\nPositionSensitivityY = 1.0       # Vertical sensitivity (0.0-5.0)\nPositionSensitivityZ = 1.0       # Depth sensitivity (0.0-5.0)\nPositionLimitX = 0.30            # Max lateral offset in meters\nPositionLimitY = 0.20            # Max vertical offset in meters\nPositionLimitZ = 0.40            # Max forward offset in meters\nPositionLimitZBack = 0.10        # Max backward offset in meters\nPositionSmoothing = 0.15         # Position smoothing (0.0-1.0)\nTrackerPivotForward = 0.08       # Neck-to-face distance, compensates yaw orbit\n```\n\n## Troubleshooting\n\n**Mod not loading:**\n- Ensure `winhttp.dll` exists in the game folder (installed by BepInEx)\n- Make sure all 3 DLLs are in `BepInEx/plugins/`\n- Check `BepInEx/LogOutput.log` for errors\n- On Xbox Game Pass: the installer checks `C:\\XboxGames\\Easy Delivery Co\\Content\\` automatically; otherwise set `EASY_DELIVERY_CO_PATH` to your game folder\n\n**No tracking response:**\n- Verify OpenTrack is running and outputting data\n- Check the UDP port matches (default 4242)\n- Press `End` to enable tracking, `Home` to recenter\n- Check that your firewall isn't blocking UDP port 4242\n\n**Jittery / unstable tracking:**\n- Increase `Smoothing` in the config (try 0.2-0.4)\n- For wireless phone trackers, prefer 5GHz Wi-Fi or USB tethering\n- Lower the tracker's send rate if it's saturating the network\n\n**Wrong rotation axis:**\n- Pitch inverted: set `PitchSensitivity` to a negative value, or invert pitch in OpenTrack's output mapping\n- Yaw feels wrong at extreme up/down angles: toggle between world-locked and camera-local yaw with `Page Down`. World-locked (default) is horizon-stable; camera-local follows the camera's current up-axis\n\n## Updating\n\nDownload the new release and run `install.cmd` again. Your config is preserved.\n\n## Uninstalling\n\nRun `uninstall.cmd` from the release folder. This removes the mod DLLs. BepInEx is only removed if the installer put it there. Use `uninstall.cmd /force` to remove BepInEx anyway.\n\n## Building from Source\n\n### Prerequisites\n\n- [.NET SDK](https://dotnet.microsoft.com/download) (any recent version)\n- [pixi](https://pixi.sh) task runner\n- Easy Delivery Co installed (for Unity/BepInEx DLL references)\n\n### Build\n\n```bash\ngit clone --recurse-submodules https://github.com/itsloopyo/easy-delivery-co-headtracking.git\ncd easy-delivery-co-headtracking\n\n# Build and install to game\npixi run install\n\n# Build only\npixi run build\n\n# Package for release\npixi run package\n```\n\n### Available Tasks\n\n| Task | Description |\n|------|-------------|\n| `pixi run build` | Build the mod (Release configuration) |\n| `pixi run install` | Build and install to game directory |\n| `pixi run uninstall` | Remove the mod from the game |\n| `pixi run uninstall -- --force` | Remove the mod and BepInEx |\n| `pixi run package` | Create release ZIP |\n| `pixi run clean` | Clean build artifacts |\n| `pixi run release` | Version bump, build, tag, and push |\n\n## License\n\nMIT License - see [LICENSE](LICENSE) for details.\n\n## Credits\n\n- [Sam C](https://samcameron.notion.site/) / [Oro Interactive](https://www.orointeractive.com/) - [Easy Delivery Co](https://store.steampowered.com/app/3293010/Easy_Delivery_Co/)\n- [BepInEx](https://github.com/BepInEx/BepInEx) - Unity modding framework\n- [OpenTrack](https://github.com/opentrack/opentrack) - Head tracking software\n- [CameraUnlock](https://github.com/itsloopyo/cameraunlock-core) - Shared head tracking library\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitsloopyo%2Feasy-delivery-co-headtracking","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitsloopyo%2Feasy-delivery-co-headtracking","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitsloopyo%2Feasy-delivery-co-headtracking/lists"}