Skip to content

v0.2 — The Aim Overhaul

Choose a tag to compare

@MOTYSHIZ MOTYSHIZ released this 10 Aug 04:01

Halo: Campaign Evolved VR — v0.2

Aim has been overhauled to be 1 to 1 in VR, no more interpolating the aim through simulated stick input. Works in co-op too! I verified it as I built by getting an extra copy of the game and running it on another PC as the host.
Many bug fixes as well.

This one was a doozy.
Had to do some recalling of an old Halo Reach networking GDC talk to sus out exactly where to overwrite aim input.
https://www.youtube.com/watch?v=h47zZrqjgLc

Aiming

  • True 1:1 motion aim. The mod now writes Halo's own aim state directly, upstream of the game's
    aim acceleration, deadzone, and aim-assist. Where you point is where it goes — crisp when you hold
    still, no slew lag on big sweeps.
  • Co-op aim that replicates. Your aim is now the value the game sends to the host, so teammates
    see you pointing where you're actually pointing (host-verified).
  • Your view stays put while you aim. Aiming no longer drags your head around; the gun moves, the
    camera holds still. Turn your body with snap or smooth turn on the right stick.

The reticle

  • World-space reticle that sits on the target. The crosshair is now placed on the actual surface
    you're aiming at (line-traced), so it agrees with where your shots land no matter how you move your
    head. The old fixed-distance reticle drifted whenever you leaned or stepped — that's gone.
  • Tunable draw-distance cap, surface stand-off (so it doesn't clip into walls), and size-with-distance
    scaling; it uses a collision channel that matches where bullets actually stop, and it ignores your
    own arms and weapon so a reload can't catch it.
  • Exposure-matched crosshair colour, and the game's flat HUD crosshair is kept hidden — including
    across mission loads, where it used to reappear as a second reticle.

Comfort & room-scale

  • Head-translation leash. Physically leaning or stepping sideways no longer pulls your aim off:
    the mod keeps your eye position from diverging from where the game thinks you are, which is what
    kept shots honest with the new traced reticle. Fully tunable, and can be turned off.

Vehicles & cutscenes

  • Motion aim correctly stands down in vehicle seats, turrets, and cutscenes (the game binds its chase
    camera to aim there); the sticks behave like a gamepad's, and everything re-anchors when you get
    out.
  • Hold either controller grip to hard-brake while seated.

Calibration

  • Two adjacent keys: End aligns the weapon to your hand, Page Down aligns aim to where you
    point. Both now persist correctly across level loads, respawns, and mission restarts.
  • Calibration is far more robust: it pins the geometry it was fitted against, so your fit no longer
    drifts when you swap weapons or reload a level.
  • Removed a bug where opening the pause menu could silently recalibrate you — calibration is now a
    deliberate keypress only.

Under the hood

  • All diagnostic and memory-scanning tooling is compiled out of the release build, so there are no
    hidden per-frame costs — frame-time stability is a hard requirement in VR.
  • Substantial movement-frame, view-lock, and stereo-frame fixes throughout.

Install (first time)

  1. Install UEVR nightly-01138
    and run UEVRInjector.exe once so it creates its folders. Older UEVR builds render this game's
    scene black.
  2. Download HaloCampaignEvolved.zip below.
  3. In the UEVR frontend, click Import Config and select the zip.
  4. Launch the game flat and wait at the main menu.
  5. Select HaloCampaignEvolved and click Inject. Inject at the main menu only — mid-mission
    injection tends to hang or render badly.

Full controls and the calibration guide are in the
README.

Updating from 0.1.x — please start from an empty profile folder

Delete or back up your previous folder and run the install steps from #2.

⚠️ Do not import 0.2 on top of a 0.1.x profile. Unlike previous updates, this one needs a clean
folder. 0.2 changed how aiming and calibration work, and leftover files from 0.1.x override the new
defaults
rather than being replaced by them — so importing over an old profile gives you 0.2's code
running on 0.1.x's settings, which is not a setup we've tested and will aim badly.

halo_vr.cfg is the critical one. A 0.1.x halo_vr.cfg is tuned for the old aim — the one that
steered the gamepad stick — and those values are actively wrong for 0.2's direct drive. It also
predates the keys 0.2 needs. Carrying an old one over is the single most likely way to end up with
aiming that feels broken. config.txt matters too: UEVR merges that file rather than replacing it,
so old VR settings — including turning and movement options that 0.2 now handles itself — quietly
survive an import.

Sorry for the inconvenience if you've tuned things; it's a one-time cost of the aim rework.

Once you're in, play a little before changing anything — 0.2's shipped calibration is much better
than 0.1.x's and is worth trying as-is. Then calibrate for yourself: End aligns the weapon to your
hand, Page Down aligns aim to where you point.

Don't copy any of the old files back — not halo_vr.cfg, not config.txt, and not your old
calibration halo_vr_calib.cfg. Those are exactly what this step exists to replace. 0.2 reworked
aiming and calibration enough that a 0.1.x calibration no longer describes the same thing, and it
would override the new shipped one. Play on the shipped calibration first, then make your own with
End and Page Down — it takes a few seconds.

If there were specific values you'd tuned in halo_vr.cfg, open the old file, note them, and set them
again by hand in the new one. It's re-read while you play (~2 s), so you can retune without restarting.

Recalibrating won't be needed for every update, but we can't promise you'll never have to again —
planned work like per-weapon calibration would change what's stored. Whenever an update does need a
clean profile or a fresh calibration, its release notes will say so up front
, as this one does.

Your SteamVR controller bindings also lived in that folder; UEVR regenerates defaults. If buttons come
out wrong, you're on the OpenVR runtime — see the README's Runtime section, OpenXR fixes it.

Requires UEVR nightly-01138.
Older builds render this game's scene black.


SHA-256 of HaloCampaignEvolved.zip, computed by CI from the exact file attached above:

29EF7E028865B4D9EEE75365B0B272FC1BDEF08ABC828A5E402FA909471C3689

A local build will hash differently and that is expected — verify against this value.

Full Changelog: v0.1.6...v0.2.0