{"id":50909226,"url":"https://github.com/itsloopyo/resident-evil-7-headtracking","last_synced_at":"2026-06-16T08:30:58.073Z","repository":{"id":361712090,"uuid":"1255485132","full_name":"itsloopyo/resident-evil-7-headtracking","owner":"itsloopyo","description":"An OpenTrack compatible head tracking mod for Resident Evil 7","archived":false,"fork":false,"pushed_at":"2026-05-31T22:44:52.000Z","size":12889,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-01T00:18:07.658Z","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":"mit","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-05-31T22:09:28.000Z","updated_at":"2026-05-31T22:44:55.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/itsloopyo/resident-evil-7-headtracking","commit_stats":null,"previous_names":["itsloopyo/resident-evil-7-headtracking"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/itsloopyo/resident-evil-7-headtracking","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsloopyo%2Fresident-evil-7-headtracking","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsloopyo%2Fresident-evil-7-headtracking/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsloopyo%2Fresident-evil-7-headtracking/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsloopyo%2Fresident-evil-7-headtracking/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itsloopyo","download_url":"https://codeload.github.com/itsloopyo/resident-evil-7-headtracking/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsloopyo%2Fresident-evil-7-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:57.085Z","updated_at":"2026-06-16T08:30:58.067Z","avatar_url":"https://github.com/itsloopyo.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e [!CAUTION]\n\u003e ## Experimental prototype - expect missing core features\n\u003e\n\u003e This is **not** a finished mod.\n\u003e\n\u003e Current builds may only test whether head tracking can drive the camera. Bug fixes and core features like decoupled look/aim, independent reticle behavior, correct shot direction, off-screen reticle support, movement handling, and comfort tuning may be missing at this early stage of development.\n\n# Resident Evil 7 Head Tracking\n\nDecoupled head tracking for Resident Evil 7 biohazard: your head moves the view while the mouse or controller still controls aim, so you can look around the room with your gun pointed where you want it, no VR headset required.\n\n\u003c!-- ![Mod GIF](https://raw.githubusercontent.com/itsloopyo/resident-evil-7-headtracking/main/assets/readme-clip.gif) --\u003e\n\n## Features\n\n- **Decoupled look and aim** - head tracking moves the camera while your mouse or controller still controls aim.\n- **6DOF positional tracking** - lean and peek by moving your head in space.\n\n## Requirements\n\n- [Resident Evil 7 biohazard on Steam](https://store.steampowered.com/app/418370/).\n- A head tracking source that speaks the OpenTrack UDP protocol: [OpenTrack](https://github.com/opentrack/opentrack) with a webcam or VR headset, or a phone tracking app.\n- Windows 10 or 11 (64-bit).\n\n## Installation\n\n1. Download the latest `RE7HeadTracking-vX.Y.Z-installer.zip` from the [Releases page](https://github.com/itsloopyo/resident-evil-7-headtracking/releases).\n2. Extract it anywhere.\n3. Double-click `install.cmd`. It auto-detects your RE7 install, installs REFramework if missing, and deploys the plugin to `reframework/plugins/`.\n4. Configure OpenTrack (or your tracking app) to send UDP output to `127.0.0.1:4242`.\n5. Launch the game.\n\nIf the installer cannot find your game, point it at the install folder directly. Either set the `RE7_PATH` environment variable to your install root, or pass the path as the first argument:\n\n```powershell\ninstall.cmd \"D:\\Games\\RESIDENT EVIL 7 biohazard\"\n```\n\n### Manual Installation\n\nIf you prefer to place files by hand:\n\n1. If you do not already have REFramework, extract `vendor/reframework/RE7.zip` into the game folder. This places `dinput8.dll` next to `re7.exe`.\n2. Copy `RE7HeadTracking.dll` and `HeadTracking.ini` into `\u003cRE7 install\u003e/reframework/plugins/`.\n\nThe Nexus release ZIP contains only this `reframework/` subtree, ready to extract straight into the game folder if you manage REFramework yourself.\n\n## Setting Up OpenTrack\n\nIn OpenTrack, set the output to **UDP over network**, host `127.0.0.1`, port `4242`. Map yaw, pitch, and roll (and optionally x, y, z for 6DOF). Leave sensitivities at 1:1 and let the in-game config handle scaling.\n\n### VR Headset Setup\n\nYou can use a VR headset purely as a head tracker (no VR rendering in-game):\n\n1. Connect your headset via Air Link or Virtual Desktop and start SteamVR.\n2. In OpenTrack, choose the **SteamVR** input.\n3. Set the OpenTrack output to UDP `127.0.0.1:4242` as above.\n\n### Webcam Setup\n\n1. In OpenTrack, choose the **neuralnet tracker** input.\n2. Select your webcam and follow OpenTrack's on-screen centering.\n3. Set the output to UDP `127.0.0.1:4242`.\n\n### Phone App Setup\n\nIf your phone tracking app already smooths its output, point it directly at your PC's IP on port `4242`. If you want OpenTrack's curve mapping and filtering, send from the phone into OpenTrack first, then relay OpenTrack's output to `127.0.0.1:4242`.\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\n`Page Up` / `Ctrl+Shift+G` cycles tracking mode:\n\n1. Normal head-tracked gameplay\n2. Positional tracking disabled, rotational tracking enabled\n3. Rotational tracking disabled, positional tracking enabled\n4. Back to normal\n\n## Configuration\n\nThe config file is `reframework/plugins/HeadTracking.ini` in your game folder. Delete it to reset to defaults. If leaning moves the view the wrong way on an axis, flip the matching `Invert` flag.\n\n```ini\n[Network]\n; UDP port for OpenTrack data (default: 4242)\nUDPPort=4242\n\n[Sensitivity]\n; Rotation sensitivity multipliers (1.0 = 1:1)\nYawMultiplier=1.0\nPitchMultiplier=1.0\nRollMultiplier=1.0\n\n[Position]\n; Position tracking sensitivity (0.1-10.0, higher = more movement)\nSensitivityX=1.0\nSensitivityY=1.0\nSensitivityZ=1.0\n; Position limits in meters (how far the camera can move)\nLimitX=0.30\nLimitY=0.20\nLimitZ=0.40\n; Backward lean limit (prevents camera clipping through player model)\nLimitZBack=0.10\n; Smoothing factor (0.0 = none, 0.99 = maximum)\nSmoothing=0.15\n; Invert position axes (flip if leaning moves the view the wrong way)\nInvertX=false\nInvertY=false\nInvertZ=false\n; Enable/disable position tracking (6DOF)\nEnabled=true\n\n[Hotkeys]\n; Virtual key codes (hex). Chord alternatives: Ctrl+Shift+T/Y/G/H.\nToggleKey=0x23         ; End - Enable/disable\nRecenterKey=0x24       ; Home - Recenter view\nPositionToggleKey=0x21 ; Page Up - Cycle tracking mode\nYawModeKey=0x22        ; Page Down - Toggle world/local yaw\n\n[General]\n; Auto-enable tracking on game start\nAutoEnable=true\n; Yaw mode: false = camera-local, true = horizon-locked (default)\nWorldSpaceYaw=true\n```\n\n`WorldSpaceYaw=true` (the default) keeps yaw locked to the world horizon, so \"up\" stays constant no matter where the camera is pitched. Set it to `false` for camera-local yaw, which rotates around the camera's current up-axis. This is the same mode the `Page Down` / `Ctrl+Shift+H` hotkey toggles at runtime.\n\n## Troubleshooting\n\n**Mod not loading**\n- Launch the game once after installing so REFramework initializes.\n- Confirm `dinput8.dll` sits next to `re7.exe` and `RE7HeadTracking.dll` is in `reframework/plugins/`.\n- Check `re2_framework_log.txt` in the game folder for `[RE7HT]` lines.\n\n**No tracking response**\n- Confirm your tracker is sending OpenTrack UDP to `127.0.0.1:4242`.\n- Make sure tracking is enabled (press `End` or `Ctrl+Shift+Y` to toggle).\n- Press `Home` (or `Ctrl+Shift+T`) to recenter if the view has drifted off-center.\n\n**Jittery or unstable tracking**\n- Raise the `Smoothing` value in `HeadTracking.ini`.\n- For wireless or phone trackers, prefer routing through OpenTrack so its filtering can settle the signal.\n\n**Yaw feels wrong at extreme up/down angles**\n- Toggle between world-locked and camera-local yaw with `Page Down` (or `Ctrl+Shift+H`). World-locked (the 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`. This removes the mod DLLs. REFramework is only removed if the installer put it there. Use `uninstall.cmd /force` to remove it anyway.\n\n## Building from Source\n\nRequires Visual Studio 2022 (C++ workload) and CMake.\n\n```powershell\npixi run sync     # init cameraunlock-core submodule\npixi run build    # Debug build\npixi run install  # Release build + deploy to the detected RE7 install\npixi run package  # build Release ZIPs into release/\n```\n\n## License\n\nMIT License - see [LICENSE](LICENSE) for details.\n\n## Credits\n\n- Resident Evil 7 biohazard (c) CAPCOM.\n- [REFramework](https://github.com/praydog/REFramework) by praydog.\n- [OpenTrack](https://github.com/opentrack/opentrack).\n- Built on the itsloopyo CameraUnlock shared core.\n\n## Disclaimer\n\nThis mod is not affiliated with, endorsed by, or supported by CAPCOM. Use at your own risk.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitsloopyo%2Fresident-evil-7-headtracking","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitsloopyo%2Fresident-evil-7-headtracking","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitsloopyo%2Fresident-evil-7-headtracking/lists"}