Open-source project
HLANoVR/HLA-NoVR avatar
HLANoVR/HLA-NoVR

HLA-NoVR: making Half-Life: Alyx playable on a flat screen

NoVR mod for Half-Life: Alyx

1,029 stars45 forksLuaGPL-3.0

At a glance

What is it?
HLA-NoVR is a mod for Half-Life: Alyx that makes the game playable without a headset while keeping as many VR interactions as possible, and it ships through a separate launcher project. The repository is the mod itself, written mostly in Lua, and the README is a support and credits page rather than a technical document.
Who is it for?
Adopt HLA-NoVR if you own Half-Life: Alyx and want to play it on a flat screen, including on a Steam Deck or a Linux system, and you are prepared to work with the VR interactions the mod preserves rather than expecting a native port. Do not adopt it if your goal is to play in VR, since the mod exists to remove the headset, and note that the mod and its launcher are separate repositories, so both need attention.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 33 days ago.
What is it written in?
Mainly Lua, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What the mod changes, and what it deliberately leaves in VR

HLA-NoVR is described in the README as the easiest to use and most flexible NoVR mod for Half-Life: Alyx, and the key sentence is the one that explains the design. It makes the entire game playable, with many VR interactions preserved in some form for a flat screen.

That phrasing carries the whole project. It is not a flat-screen reimplementation of the game, and it is not a screen-space projection hack. The original game is a VR title where a large amount of the interaction design is physical: you reach out and grab things, you reload by hand, you aim with your hand, and your hands are in the scene as objects. On a flat screen with a mouse and keyboard, none of that works without something replacing it. So the mod's job is to keep as much of the physical vocabulary as it can and substitute controls for the rest.

The consequence is a spectrum rather than a binary. Some interactions survive almost intact, some survive in a reduced form, and some become ordinary flat-screen actions. The README's wording, preserved in some form, is doing real work, and it is a signal about the fidelity you should expect. A player who has watched footage of a VR Alyx session and expects the same on a monitor will find some things familiar and some things reconceived.

The primary language of the repository is Lua, which is the scripting language the Source engine exposes to mods, and the tree is small and focused: a game/ directory, plus .gitattributes, .githooks/ and .github/ directories, a LICENSE.txt and the README. The game/ directory is the mod content itself, the part that the engine loads, and everything else in the repository is tooling or documentation around it. This is the shape of a content mod rather than a code project, and it explains both how the mod is built and how it is versioned.

Installation goes through a separate launcher project

The installation section of the README is short, and that is worth examining because it reveals the deployment architecture.

The first instruction is to install the official launcher, linking to the HLA-NoVR-Launcher repository. The second says that if you use a Steam Deck or Linux, there is a FAQ with installation instructions, hosted on a Google Doc. The third says to check the in-game options menu or the FAQ for the controls.

So the mod and its installer are two separate repositories, and the launcher is a distinct program that presumably handles the game files, the mod deployment and possibly the version matching. That split is a sensible arrangement for a mod like this one, since the launcher has to deal with the Steam installation layout and the fact that Half-Life: Alyx has its own content layout, and none of that belongs in the mod's own tree.

The Steam Deck and Linux carve-out is the part an adopter should pay attention to. The plain Windows path is the official launcher and the default experience, and the FAQ exists because the other platforms need different handling. A Google Doc FAQ is not the most durable documentation format, and it is not versioned with the code, so if you are installing on a Steam Deck you are working from a document that can change without a commit or a release note.

There is a second support route as well, an official Discord server, linked from the README as the place for support. The separation is deliberate: the README is a pointer document, and the substance lives in the launcher repository, the FAQ document and the Discord.

That structure has a practical consequence for anyone evaluating the project. The repository you are reading tells you what the mod is and who built it, but it does not tell you how to install it, what the controls are, or which Alyx versions it works with. You will need the launcher repository and the FAQ for that, and the mod is best understood as the payload that the launcher deploys rather than as something you run yourself.

The credit list is the closest thing to a design history

With so little technical prose, the team and thanks sections in the README are the most informative text in it, and they document something specific about how the project is built.

The team list is organised by role. Project Management, the Steam Deck version and Motion Controls are by Spider-Man. Former Main Development is by GB_2, and the word former is doing work there, suggesting the lead developer role changed hands. Development Support is by Esdras Tarsis. Discord Server Management is by Tarek and syph0. Scripts for Addons is by Hypercycle. Animation Lead, HUD, Development Support and more is by withoutaface. Animation and 3D Modelling is credited to a group of six names, Jake, Demonic, Seal, UnearthlyGoose, MTB and LIL PIF. Art and Banners to norosetoday and Matteo, with a note that Matteo was previously known as 50percentJoe. Video Editing to beats343, and Launcher Animated Backgrounds to Half-Peeps.

Two things stand out. The first is that Motion Controls is a named responsibility, which tells you the mod does not simply disable motion input but implements an alternative to it, and that this was hard enough to need an owner. The second is that the modelling and animation work is credited to a team of six, which is a substantial amount of asset creation for a flat-screen mod. That is consistent with the claim that VR interactions are preserved rather than removed, since preserving a physical interaction in a flat-screen context usually means creating a replacement animation for the player's hands and the objects they would have grabbed.

The Special Thanks section names three external contributions with their own repository links. JJL772 made the flashlight and jump scripts, pointing at half-life-alyx-scripts. withoutaface made the HUD, pointing at HLA-NoVR-alyxhl2-ui-weapons, which is a separate repository for the Alyx HUD and weapons user interface. FrostElex contributed the storage script from his tools package, pointing at hla_extravaganza.

These links are worth a moment of attention because they show the mod's boundaries. The HUD is a separate project that this mod depends on, and the flashlight and jump scripts came from a generic Alyx script repository rather than from this tree. So the repository is one component of a set, and the pieces are coordinated through attribution rather than through a single codebase.

Maintenance, licence and where the work actually lives

The maintenance signals are mixed, and they should be read carefully.

The repository is not archived, and the last push was on 2026-09-20, which is recent. There are no GitHub releases, which is normal for a mod of this kind, since the version that matters is the one the launcher deploys, and the launcher is the thing with a release cycle. The project has a dedicated Discord server for support and a ModDB page, which is the standard distribution and community channel for Half-Life mods and which also acts as the version announcement point.

The licence is GPL-3.0, with a LICENSE.txt at the root of the repository. For a mod, that licence is worth understanding precisely, because it applies to the mod's own assets and scripts. A mod that incorporates or derives from the original game's own assets, and a mod that ships modified copies of those assets, are different questions, and the interaction between the mod's licence and Valve's terms for the game is not something the README addresses at all. A team considering redistribution of the mod itself, rather than using it, needs to read the LICENSE.txt and the game's own terms rather than rely on this repository's README.

There is a second observation about the repository layout that says something about the workflow. The tree contains a.githooks/ directory, which is a convention for custom git hooks installed from the repository rather than from a global config, and a.gitattributes file. Both suggest that the project takes its repository hygiene seriously and has conventions that a contributor is expected to follow, which is a good sign for a repository that receives community contributions for a game with a large modding scene.

The.github/ directory indicates the usual GitHub configuration, and with a Discord server, a contributing team split by role, and a public issue tracker, the community infrastructure around this mod is more substantial than the amount of documentation in the README would suggest.

Where HLA-NoVR is the wrong tool

There is one obvious boundary, which is that this is a NoVR mod. If you want to play Half-Life: Alyx in VR, this is the opposite of what you want, and Half-Life: Alyx is built for a VR headset. The mod exists to remove the requirement, not to improve the virtual reality experience.

The deeper boundary is the one the README hints at with the phrase preserved in some form. A flat-screen mod for a VR game is always a compromise, and the compromise is largest exactly where the VR design was strongest. In a game built around physical hand interaction, the moments where you reach into the scene, lift an object, and use it as a tool are the heart of it. Reproducing those on a flat screen means either approximating the interaction with a button, or redesigning it. The mod's animation and modelling credits suggest a substantial amount of the second kind, which is better than most alternatives, but it is still not the same as reaching out and picking something up.

There is also a matter of the base game's requirements. Half-Life: Alyx is a VR title, and a NoVR mod still runs on top of that installed game. So the no-VR promise is about the hardware you have to wear, not about the software footprint or the store requirements. Someone who bought the game for a flat-screen experience has to think about what they are installing and how the launcher handles the game files.

A third consideration is support. The technical documentation is thin, the FAQ lives in a Google Doc, and the primary support channel is a Discord server. That arrangement is entirely normal for a game mod community, and it is also a real difference from a commercial product with a written manual, a compatibility matrix and a support ticket system. If you need the latter, this is not it.

And a fourth: a NoVR mod is not a general engine for porting VR games to flat screens. The work is specific to one game, written against one engine version, with the FAQ and the launcher as its only documentation. Anyone hoping for a template to reuse will find that the reusable part, the launcher, was written for this one game.

HLA-NoVR against the alternatives

The realistic comparison is with the other ways to play a VR game on a flat screen, and the difference in approach is mostly about where the transformation happens.

The first alternative is a driver-level or runtime-level approach, where a virtual reality runtime presents the headset's view on a monitor. The game still believes it is running in VR, the input still comes from a tracked device or a controller emulation layer, and the rendering path is untouched. The result is that the game is played as designed, with the VR comfort, the frame timing and the tracking all still in play, and what you see is the headset view stretched to a window. The advantage is fidelity, and the disadvantage is that everything about the experience is still a flat screen pretending to be a window into VR, with a mouse or a gamepad substituted for the controllers.

The second alternative is a flat-screen port, a real conversion where the game is reworked to remove the VR dependency in the same way this mod does. The advantage is that the result is a game that runs and plays like a flat-screen game, with mouse look, and the disadvantage is that everything about the VR design has to be rethought, one interaction at a time.

HLA-NoVR is squarely in the second category, and the credit list is the evidence. Motion Controls as a named responsibility, six people credited for animation and 3D modelling, a HUD built as a separate project, and custom flashlight and jump scripts are all signs of a conversion rather than a display transformation. The scope is the whole game, which is what the README claims, and the fidelity claim is that VR interactions are preserved rather than discarded.

The third option is not playing the game at all, which sounds flippant but is worth naming because it is a real answer for a real number of people. Half-Life: Alyx is not the only VR game worth owning, and a flat-screen version of a VR game is not the same product as a game designed for a flat screen.

So the choice is between fidelity to the VR design, which the runtime approach gives you at the cost of the VR machinery, and a genuine flat-screen game, which this mod aims to be, at the cost of rewriting every physical interaction.

Editorial conclusion

Adopt HLA-NoVR if you own Half-Life: Alyx and want to play it on a flat screen, including on a Steam Deck or a Linux system, and you are prepared to work with the VR interactions the mod preserves rather than expecting a native port. Do not adopt it if your goal is to play in VR, since the mod exists to remove the headset, and note that the mod and its launcher are separate repositories, so both need attention. Verify first that the launcher installs cleanly on your system, that the Steam Deck or Linux instructions in the FAQ apply to your setup, and that the mod's scope of preserved VR interactions matches what the gameplay you want actually needs.

Frequently asked questions

What is HLA-NoVR and what does it change about Half-Life: Alyx?

It is a NoVR mod for Half-Life: Alyx that makes the entire game playable with many VR interactions preserved in some form for a flat screen. The repository is written mostly in Lua, and the mod content lives in the game/ directory.

How do I install HLA-NoVR?

The README says to install the official launcher, which lives in the separate HLA-NoVR-Launcher repository, and to see the FAQ for Steam Deck and Linux installation instructions. The mod is deployed by that launcher rather than installed by hand.

Is there a way to play Half-Life: Alyx without a VR headset?

That is exactly what HLA-NoVR does. The README describes it as the easiest to use and most flexible NoVR mod for Half-Life: Alyx, making the entire game playable with as many VR interactions preserved as possible.

What licence is HLA-NoVR released under?

The repository carries a LICENSE.txt and the project is licensed under GPL-3.0. The README does not discuss how that licence interacts with the terms for the original game, which is worth checking separately if you intend to redistribute anything.

Official sources

  1. HLANoVR/HLA-NoVR on GitHub
  2. Issues
  3. License: GPL-3.0
  4. Project website
  5. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/hlanovr-hla-novr.svg)](https://hysenlabs.com/projects/hlanovr-hla-novr)

Was this useful?