# Inside Nitrox: patching Subnautica for multiplayer with Harmony

> Nitrox is a C# mod that adds networked play to the single-player game Subnautica by patching game code at runtime. Its milestone list covers sixteen gameplay systems, while hosting steps, authority rules and save handling stay undocumented.

**SubnauticaNitrox/Nitrox** — An open-source, multiplayer modification for the game Subnautica.

- Repository: https://github.com/SubnauticaNitrox/Nitrox
- Website: https://nitrox.rux.gg
- Stars: 2,084 · Forks: 1,151
- Language: C#
- License: GPL-3.0
- Published: 2026-10-14 · Updated: 2026-10-14 · Language: en
- Canonical page: https://hysenlabs.com/projects/subnauticanitrox-nitrox

## Why a multiplayer mod exists for a single-player ocean

The repository describes Nitrox as an open-source, multiplayer modification for the game Subnautica, and that single clause sets the whole scope. The mod does not ship new content, it wires a network layer onto systems that already exist, because every milestone in the project is a synchronisation task rather than a gameplay addition: player movement, picking up and dropping items, long-range world state, bases, furniture, power networks, vehicles, chat.

For a player that translates into one outcome. Two people who have both finished the campaign can inhabit the same ocean instead of trading screenshots of their bases. For a modder it places the work inside a C# and Unity codebase, and the repository topics, mod, nitrox, subnautica and unity3d, put Nitrox in the Unity patching world rather than among data-only mods that only rearrange asset files. The default branch is master and the primary language is C#, which tells you a contributor needs a build toolchain, not a game editor. The name comes from the same field: Nitrox is an alternative air mixture used by scuba divers to reach longer bottom times, and the project bills it as a new dimension of gameplay.

## Harmony patches sit behind a launcher players install

Named projects at the repository root separate the moving parts. `NitroxPatcher/` applies changes to the game, `Nitrox.Launcher/` is the front end a user runs, `NitroxUnity/` holds the Unity-side code, `Nitrox.Model/` and `Nitrox.Model.Subnautica/` carry the networked representation of game objects, and `Nitrox.Server.Subnautica/` supplies the server half for this particular game. Two bullets in the milestone list name those ends directly: integration with Harmony, the patching library the mod builds on, and the Friendly Launcher, the packaged entry point.

What that layout does not tell you is the interesting part. No patch manifest, no message schema, no handshake description, no tick rate and no bandwidth figure appear anywhere in the project's published documentation. A developer who wants to know how state is reconciled has to read the source, because the folder names give you a map of the system and not a specification of its protocol. Treat the architecture as something you infer from a solution file, then verify in code.

## Directory.Build.props carries settings into every project

The rest of the root is the scaffolding a C# monorepo needs. `Directory.Build.props` and `Directory.Build.targets` apply to every project without repetition, `Nitrox.Shared.props` and `Nitrox.Shared.targets` hold the settings specific to this mod, and `Directory.Packages.props` centralises package versions so one edit moves the whole tree. `NuGet.config` steers restore at the right feeds, `.editorconfig` fixes formatting across contributors, and `.vscode/` gives everyone matching editor behaviour.

The solution file is `Nitrox.slnx`, the XML-based solution format, with `Nitrox.slnx.DotSettings` sitting beside it as an editor settings file for that solution. A test project, `Nitrox.Test/`, is part of the root, so tests exist in the build, yet nothing published states what they cover or how to run them. The project never pins a .NET SDK version either, so the first check a contributor makes is whether their toolchain opens `Nitrox.slnx` at all.

## Sixteen milestones listed, and the hedges inside them

Sixteen items are marked completed, from client and server communication through Cyclops syncing, power management, a chat system, a new HUD for remote players and publication on the project's website. Read closely, the list sits in tension with the project's own summary sentence, which calls the mod very early in development while also claiming a solid foundation for the community to iterate on. A list that covers power grids, three vehicle types and text chat covers more ground than that first phrase leads a reader to expect.

The qualifiers inside the bullets matter more than the count. One item reads most furniture interactions, with containers, medkit fabricators and chargers given as examples, and another reads basic player animations. Nothing in the list touches story progression, save handling when a host changes, or how a server arbitrates two players who act on the same object in the same second. The version line tells its own story: 1.8.0.0 on 2025-10-09, 1.8.0.1 on 2025-10-20, then 1.8.1.0 on 2026-01-07, after which no newer build is listed. The last push landed on 2026-09-28, more than eight months after that newest listed build carried its date, so commits have landed since it without a matching published version.

## Downloading the build, then the Linux script and the docs

Playing the mod does not require building from source. The project points players at its own website for the current download, offers a separate setup script for read-only Linux distributions such as SteamOS, and keeps a documentation site for anyone who wants a development environment where pushed updates arrive without a manual step.

```bash
https://nitrox.rux.gg
https://github.com/SubnauticaNitrox/Linux-Setup-Script
https://subnauticanitrox.github.io/Documentation/
```

Three destinations with three different jobs. `nitrox.rux.gg` is where you get the mod, the script repository exists because a distribution that refuses writes to system directories cannot take the ordinary install path, and the documentation site serves people who want to track development rather than play. Expect no server list in any of them, because the project never states how to host a world, what the process listens on, or how a second machine discovers and joins one.

## Alternative routes, and what each one costs you

Three alternatives exist for someone weighing this mod, and each drops something specific.

Vanilla single-player keeps the campaign exactly as shipped, and nothing in the milestone list alters it, since every entry synchronises a system that already exists. The cost is the shared world itself.

Harmony is a public patching library, and because one completed milestone is integration with it, the same entry point that lets Nitrox redirect game behaviour is available to a developer who would rather write a single patch than adopt the whole synchronised feature set. That route stays yours alone and needs no server, no launcher and no client patch set to keep in step with the game.

On Linux the choice is narrower: install into a writable system the normal way, or use the separate script for read-only distributions. Taking the script avoids fighting the filesystem and costs you one more repository to trust.

## The issue tracker became a forum, so Discord took over

Support policy here is unusual enough to plan around. Because of an influx of new players, the project states plainly that its issue tracker turned into a forum instead of its actual purpose, and it asks people to bring problems to the Nitrox Discord, where maintainers say they pick up new issues from there.

```bash
https://discord.gg/E8B4X9s
https://github.com/SubnauticaNitrox/Nitrox/issues
```

For an engineer evaluating the project that is a genuine cost. There is no public triage queue to watch and no published roadmap to plan against, so whether a bug you hit is known depends on a chat server at the moment you look. Existing issues stay browsable on GitHub, and reporters are asked to check Discord first because their report may already exist. The root also carries `SECURITY.md` and `CONTRIBUTING.md`, and contribution is by pull request with guidelines on the documentation site rather than in the repository README.

## Weblate translations need an account or a human check

Localisation runs on a Weblate instance for the project. To take a language from nothing to a first translation you sign up, while suggesting changes to a language that already exists works without an account, except that somebody with an account has to verify each suggestion by hand. Either path sends an email to the address you supply, and the project warns that Gmail sometimes files those messages in the spam folder.

Two governance details travel with it. The mod takes no donations at all, and anyone wishing to give money is pointed at Doctors Without Borders instead, which keeps funding outside the project's scope. The code is published under GPL-3.0, so a fork of the client, server or model layers carries the copyleft conditions that attach to redistributing modified versions of the work.

## Conclusion

Adopt Nitrox if you want to share a Subnautica ocean with people you already know, and expect power grids, vehicles and chat rather than new content. Sixteen synchronised systems is a real feature set for an evening with friends, not a replacement for a documented host configuration. Leave it alone if you need a support guarantee, a hosting guide or a progression path, since the project publishes none of those three. Before committing a machine, pull the build from nitrox.rux.gg, read the Discord for current problems, and decide what happens to your existing save when a host changes.

## FAQ

### What is Nitrox and how finished is it?

It is an open-source C# modification that adds multiplayer to the single-player game Subnautica by patching game code with Harmony. The project calls it very early in development while listing sixteen completed milestones, including power management, Cyclops syncing and a chat system.

### How do I install the Nitrox mod?

The project points players to its own website, nitrox.rux.gg, for the current download. Read-only Linux distributions such as SteamOS are handled by a separate install script repository, and a development environment that synchronises pushed updates automatically is documented on the documentation site.

### Does Nitrox work on SteamOS or a read-only Linux install?

Yes, the project links a dedicated Linux setup script for read-only distributions and names SteamOS as the case that forced it into existence. The ordinary install path assumes a writable system.

### Why did the Nitrox issue tracker turn into a forum?

Because of an influx of new players, the project says the tracker stopped serving its purpose and asks for problems to be raised on the Nitrox Discord instead. Existing issues remain browsable on GitHub.

### Can I translate Nitrox into my own language?

Translations run on Weblate. Starting a new language requires a sign-up, while suggesting changes to an existing language can be done without an account, although a person with an account must then verify those suggestions manually.

## Sources

- [License: GPL-3.0](https://github.com/SubnauticaNitrox/Nitrox/blob/master/LICENSE)
- [Project website](https://nitrox.rux.gg)
- [README](https://github.com/SubnauticaNitrox/Nitrox/blob/master/README.md)
- [Releases](https://github.com/SubnauticaNitrox/Nitrox/releases)
- [SubnauticaNitrox/Nitrox on GitHub](https://github.com/SubnauticaNitrox/Nitrox)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/subnauticanitrox-nitrox
