Horizon launcher: two programs.
One of them starts the game.
The official Horizon launcher installs the engine, the Rust toolchain and the account session. The xHorizon shell sits on top: it reads the catalog, installs manifests and shows what the native build did. Here is which one you need, and when.
| Official client | xHorizon shell | |
|---|---|---|
| What it installs | The game, its Rust toolchain and the version you select | A 122 MB Electron app; no game files |
| Account | Microsoft sign-in and the Java Edition ownership check | Delegates to the official client; stores no token |
| Packs | Imports an .hpack from the library | Ships 20 manifests and an install queue |
| Native build | CLI flag, terminal output | Stages, ETA and a reason for every mod left out |
| Profiles | One version folder per install | One folder per pack: worlds, configs, logs, screenshots |
| Platform | Windows and Linux | Windows 10/11 x64 now; Linux planned |
The official client comes from playhorizon.dev. This page does not distribute it and cannot replace it.
What the official client does
The official launcher is the one that owns the game. It downloads the engine, prepares a Rust toolchain, keeps the version list, and runs the Microsoft sign-in that checks Java Edition ownership. It also exposes a command line: versions --installed lists what you have, settings selected-version switches it, account list shows the session, and mods install or modpack play do the same work the GUI does.
That command line is why a second launcher can exist at all. A shell does not need to reimplement downloads, auth or builds; it can call the client that already works. It also means the shell breaks when the CLI changes, which is the cost of this design.
What the xHorizon shell adds
- The catalog in the window: 20 packs, mod counts, pins, hook floors and server flags, with filters by what you want to do.
- One-click install from a manifest, with every mod resolved, hashed and placed. The queue can be paused or cancelled.
- Separate profiles: worlds, configs, screenshots and logs never mix between packs.
- A native build screen that names the stage, the ETA and every mod that ended up in
left_out, with the reason code. - A pack editor: add registry mods, switch files off, catch two mods doing one job, export back to .hpack.
- A diagnostic zip with the pack version, mod list and last log, so a bug report does not start with "it crashed".
What it does not add: a game download, an account, a session, or a way around the ownership check. If the official client cannot start Horizon on your machine, this launcher cannot either.
Before you install
- Windows
- 10 or 11, x64
- Linux
- AppImage / deb, not built yet
- RAM
- 8 GB; 16 GB for The Works and Studio
- Game
- Horizon 26.3, installed by the official client
- Account
- Microsoft account that owns Java Edition
- Disk
- 122 MB for the app, plus a profile per pack
Setup on Windows, in order
Install the game first
Get Horizon from playhorizon.dev, run the installer, and let it finish the toolchain download. A first launch can take a few minutes.
Sign in once
Use the official client with a Microsoft account that owns Java Edition. If the game reaches the title screen, the hard part is done.
Install the shell
Download v0.1.4, confirm the SHA-256, and run the installer. SmartScreen will warn because the build is unsigned.
Let it find the client
The first screen looks for the Horizon install. If detection fails, point it at the folder that contains the official launcher.
Install a pack
Pick Better+ or Near Vanilla, press install, and watch the queue. The manifest resolves every mod from the registry.
Build native mods
One compile pass. Native code is trusted code: the first build asks you to allow it, and that decision belongs to the player.
When something goes wrong
| Symptom | Likely cause | What to do |
|---|---|---|
| Launcher cannot find Horizon | The CLI is not on PATH or the install is in a non-default folder. | Point the launcher at the install folder, or install the game first and reopen the shell. |
| SmartScreen blocks the installer | The preview is unsigned. | Compare the SHA-256 from the download page, then choose More info and Run anyway. |
| Native build leaves a mod out | A pin conflict or a missing hook: E_MISSING_HOOK, E_MODULE_CONFLICT. | Read the reason in the build log. Drop the mod or pick a pack with fewer pins. |
| Build asks for permission | Native code compiles and runs on your machine. | Grant it once for the profiles you trust. This is a player decision, not a default. |
| Game exits with code 101 | The engine panicked and wrote a crash report. | Open the latest report from crash-reports, then attach it to a bug report. |
| Pack installs, world does not see new ores | The world already generated those chunks. | Start a new world, or travel past the generated chunks. |
If you only want to play
You can skip this shell entirely. Download any .hpack from the catalog, open the official client, and import it from the library. You get the same mods and the same hashes; you lose the install queue, the per-pack profile and the readable build report.
The shell exists for people who install several packs, switch between them, or want to know why a native mod did not build. If that is not you, the official client is the shorter path and the one with fewer moving parts.
The rest of the setup.
Download and verify
Windows 0.1.4, 122 MB, SHA-256 printed on the page. The hash is the only signature this preview has.
v0.1.420 packs to install
Mod counts, pins and server flags, plus a table that maps a goal to a pack.
20 manifestsInstall Horizon itself
The order that works: game, account, launcher, packs. Written from a Windows install, not from a spec.
guideA longer tour of the app, with screenshots of the home scene, the editor and the settings, is on the launcher page.
Questions this page gets
Do I need this launcher to play Horizon?
No. The official Horizon client installs the game, checks the account and starts it. The xHorizon shell only adds the catalog, one-click .hpack installs, separate profiles and a readable native build log.
Does the xHorizon launcher ask for my Microsoft password?
No. Sign-in goes through Horizon's official client, which owns the session. The launcher never sees the password and does not write a token to a config file, a log or a diagnostic report.
Why does Windows warn about the installer?
The 0.1.4 preview is unsigned, so SmartScreen shows the standard warning for an unknown publisher. The SHA-256 is printed on the download page and in the release; compare it before you run the file.
How long does the first native build take?
Around 20 to 30 minutes on a first run, because the toolchain has to be downloaded and prepared. Later builds reuse it. A dev native profile trades game speed for roughly six times faster rebuilds.
Can I run the launcher on Linux?
Not yet. The app is Electron and the Linux build is planned as AppImage and .deb, but only the Windows x64 installer exists today. The Windows build cannot produce a trustworthy Linux artifact.
Where are the logs?
The launcher keeps per-profile logs under the profile folder and can package a diagnostic zip with the pack version, mod list and last log. The official client also keeps logs and crash reports that the xHorizon launcher can read.
Install the packs, keep the game.
The shell does not replace Horizon: it calls the client you already installed. That keeps the account where it belongs and the catalog in one window.