arrow_back All guides

Getting Started with Half-Life: Alyx Modding

Workshop subscriptions, the NoVR option, and the Hammer Alyx authoring tool

AndreaDev3D
·

Half-Life: Alyx modding is Workshop-first and conceptually simple — subscribe, restart, play. The catalogue is small relative to other major Source games but well-curated. This guide walks the standard install.

Step 1 — Make sure you have VR

HL:A is VR-only by design. Steam VR + a compatible headset (Index, Quest with Link, Reverb, Vive) are required.

Optional: the community-built HLA NoVR / FakeVR mod enables flat-screen play. The experience is heavily compromised (no VR-specific interactions) but works as a curiosity. Not Valve-supported.

Step 2 — Subscribe to Workshop maps

HL:A Workshop hosts custom campaigns and standalone maps.

Three notable fan campaigns:

  • Levitation — 8-hour fan campaign, one of the largest user-made Alyx maps.
  • Re-Entry — multi-chapter campaign.
  • The Final Hours standalone maps and shorter scenarios.

Subscribe. HL:A downloads to addons/ on next launch.

Step 3 — Launch maps

From HL:A's main menu → Workshop Maps. Your subscribed maps appear. Pick one, load, play.

Single-player only. HL:A has no multiplayer modes.

Step 4 — Author your own (Hammer Alyx)

Valve's Hammer Alyx is free in your Steam tools library. Launch via Steam → Tools → Half-Life: Alyx — Workshop Tools.

The editor is Source 2's Hammer, customised for VR-specific entities and triggers. Documentation lives on Valve's developer community.

Common gotchas

  • Mod doesn't appear in Workshop Maps menu. Subscription incomplete. Restart Steam.
  • Map crashes on load. Often a mod that targeted an older HL:A patch. Look for the map author's update.
  • NoVR mod compatibility. Many official maps were built with VR-specific interactions; NoVR mod has trouble with these. Manage expectations.

If you've used Source 1's Hammer for HL2 modding, Source 2's Hammer Alyx is recognisably the same tool with VR additions. The transition is smaller than you'd expect.

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.