Skip to content

PolBarreiro/TrueHeight

Repository files navigation

TrueHeight

TrueHeight

Automatic SteamVR floor-height lock. Keeps your headset at a fixed height above the play-area floor — sit, slouch, lie down, it doesn't matter: the floor follows you.

Release Downloads License: CC BY-NC-ND 4.0 Platform

Download · Quick start · Config · Fallout 4 VR + FRIK · FAQ


What it does

TrueHeight works at the SteamVR chaperone level: it continuously offsets the vertical origin of the standing tracking universe — the same mechanism OVR Advanced Settings uses for its manual Space Offset, but here it's an automatic closed loop.

That means:

  • Works with every SteamVR game, including Fallout 4 VR with FRIK
  • Works with any headset that connects to SteamVR — Quest via Link / Virtual Desktop / ALVR, Index, Vive, Pico, Bigscreen Beyond…
  • No game mods, no injected DLLs, nothing anti-cheat-relevant
  • Nothing is written to any game folder; uninstalling is deleting a folder

The typical use case: you want to play standing-height VR while actually sitting, lying down, or in a wheelchair — without recalibrating anything, ever.

Requirements

OS Windows 10 / 11, 64-bit
Runtime SteamVR (any headset it supports)
Install size ~2 MB
Admin rights Not required

Quick start

  1. Download the latest ZIP from Releases and extract it anywhere (Desktop is fine — not inside a game folder).
  2. Start SteamVR. Running TrueHeight.exe will also start it if it isn't running.
  3. Run TrueHeight.exe. A console window shows live status: current height, applied floor offset, lock state.
  4. Put the headset on. Within ~1–2 s your viewpoint glides to the target height and stays there.
  5. Close the window or press Ctrl+C to quit — the real calibrated floor is restored automatically.

A config.ini sits next to the exe; edit it and press F7 in-game to reload without restarting.

Auto-start with SteamVR

TrueHeight.exe --register

Registers trueheight.vrmanifest with SteamVR so TrueHeight launches automatically every session. --unregister removes it.

Hotkeys

Global — they work while a game has focus.

Key Action
F7 Reload config.ini (change target height without restarting)
F8 Pause / resume the lock
F9 Restore the real calibrated floor immediately

Config (config.ini)

Key Shipped value Meaning
target_height_cm 188 Desired headset height above the play-area floor. Set this to your own standing eye height.
smoothing_time_ms 300 Correction speed. 150–300 = tight lock (cancels head bob too). 800–1500 = gentle, only fixes slow drift/posture while walking bob stays natural
deadzone_cm 15 Height errors smaller than this are ignored. Large values = the lock only kicks in after a big posture change; lower it (1.5–3) if you want a tight hold
max_speed_m_s 1.0 Vertical correction speed limit (comfort)
update_hz 60 Control-loop rate
max_offset_m 3.0 Safety clamp on the total applied offset
only_when_worn true Freeze when the proximity sensor says the HMD is off your head (prevents the floor flying away while the headset sits on a desk)
start_enabled true Start with the lock already active
restore_on_exit true Put the real floor back on exit
invert false Only set true if the floor visibly runs away instead of locking (height diverges). The correction direction was derived analytically, not measured on hardware — this is the one-flag fix if a runtime fork has the axis flipped

Fallout 4 VR + FRIK notes

  • Start TrueHeight first, put the headset on, let it lock, then calibrate FRIK once. FRIK then reads a constant height forever after — body scale never drifts again, seated or standing.
  • Physical crouching no longer does anything in-game (the floor follows you) — use the controller crouch bind instead.
  • Don't run OVR Advanced Settings features that also move the play space (Space Offset / Motion / Height Toggle) at the same time; they'd fight this loop. Everything else in OVRAS is fine.

FAQ

Is this a cheat / can it get me banned? No. It only moves the SteamVR play-space origin, exactly like the standard Space Offset setting. Nothing is injected into any game process.

Does it modify my Room Setup? It offsets the standing universe at runtime and puts it back on exit. Offsets don't survive a SteamVR restart, and Room Setup always resets everything.

Does it work in <game>? It works everywhere SteamVR does, because the game never knows anything happened.

The chaperone grid flashes. Normal during large corrections, e.g. the initial lock-on while seated.

Something feels off while standing/walking. Locking height means the world moves with your head vertically. Most people find it fine seated; if you feel it standing, raise smoothing_time_ms and/or deadzone_cm.

The floor is stuck in a weird place after a crash. Press F9, or just restart SteamVR.

Building from source

Everything needed is included — openvr/ contains the header, import lib and DLL from Valve's OpenVR SDK (BSD-3, see LICENSE-OpenVR.txt).

Visual Studio

cmake -B build -G "Visual Studio 17 2022" -A x64
cmake --build build --config Release

MinGW-w64 (how the shipped v0.1.0 binary was built)

x86_64-w64-mingw32-g++ -O2 -std=c++17 src/main.cpp -Iopenvr/headers \
  -o TrueHeight.exe openvr/bin/win64/openvr_api.dll -luser32 -lwinmm \
  -static -static-libgcc -static-libstdc++

Note on the source tree. src/main.cpp is the in-progress v1.0 rework (system-tray icon + settings window). The binary published as v0.1.0 is the earlier console build. res/resource.h and res/trueheight.rc are provided for that v1.0 build and have not been compile-verified yet.

Also available on

  • Nexus Mods — Fallout 4 VR › Utilities
  • Steam — planned

License

TrueHeight is licensed CC BY-NC-ND 4.0 — free to download, use and share with credit; no commercial use and no redistribution of modified versions. Private modifications for your own use are fine.

Bundled openvr_api.dll / openvr.h / openvr_api.lib are © 2015 Valve Corporation, BSD 3-Clause — see NOTICE.md.

The author retains full copyright and may release TrueHeight commercially under separate terms.

Credits

Made by Pol Barreiro Font. Built on Valve's OpenVR SDK.

About

Automatic SteamVR floor-height lock — keeps your headset at a fixed height above the play-area floor. Works with every SteamVR game and headset. No game mods, no injected DLLs.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages