8BitDo Ultimate 2C Wireless Controller
Hall-effect sticks and triggers with low-latency 2.4G dongle and Bluetooth for desktop Horizon and Android phones.
Horizon (horizon-rust/horizon, playhorizon.dev) is an MIT-licensed clean-room Rust rewrite of Minecraft: Java Edition 26.3 without a Java Virtual Machine. Paired with Horizon Launcher on desktop and native Vulkan forks on Android (Starling and Rayan-XOO), it boots in roughly three seconds, scales to a 1,024-chunk view distance, and ships zero proprietary Mojang assets.

Switch between upstream launcher@0.2.66 installers, the standalone Linux nightly server archive, and the active Android Vulkan APKs to inspect exact byte counts and SHA-256 digests.
Windows 10/11 x64 self-updating installer. Portable x64 zip (22,091,138 B) and Windows ARM64 setup (56,285,696 B) are listed in the ledger below.
SHA-256 digest
e2a57ca7612b9fe87b9089ecd64e471b37f49edc56ab8a095e2ce6f6ee1087d1Install or launch command
Run horizon-launcher-setup.exe -> Sign in with Microsoft account (Java 26.3 owned) -> Auto-installs nightly engine
Founded by Ludovic Marie (@ludovic111) alongside Kacper, Cosmic, levzzz, rdbt, and Anthony S, the Horizon repository replaces legacy JVM heap allocation with compiled Rust crates.
| Workload / Metric | Horizon (Native Rust) | Java 26.3 + Optimization Stack | Measured Delta |
|---|---|---|---|
| Cold boot to title screen | ~3.0 s | ~11.0 s (Sodium + Lithium + FerriteCore + ImmediatelyFast) | 3.5x faster startup; zero JVM classloader warmup |
| Sustained frame rate across view distances | Native multi-threaded Vulkan/GPU submission | LWJGL + Sodium chunk builder with periodic GC pauses | +31% to +38% higher average FPS on Ryzen 7 9800X3D + RTX 5080 |
| Maximum view distance | Up to 1,024 chunks with LOD streaming | 32 to 64 chunks before heap pressure spikes | Deterministic Rust arena allocation without stop-the-world GC |
| Protocol & simulation accuracy | Verified by 281 differential test harnesses | Reference vanilla 26.3 client/server jars | Tick-by-tick block, physics, redstone, and packet parity |
Because Horizon is published under the MIT license, Android maintainers have built dedicated mobile frontends with Vulkan batching, touch HUD editors, and shader translators.
On Windows, Linux, SteamOS, and macOS, you install Horizon Launcher (launcher@0.2.66). The launcher verifies Microsoft account ownership of Java Edition, extracts vanilla 26.3 textures and sounds locally, and keeps the nightly client updated. Linux server operators run horizon-server-linux-x86_64.tar.gz directly without the launcher.
Co-founded by @JuanLuci and @Vasysik (merging JuanLuci/starling with Vasysik/horizon-android after v0.7.8), Starling has crossed 399,500 release downloads. It generates derived registries directly on your phone in roughly 79 seconds while you fish in a mini-pond screen, translates Iris/OptiFine shaders to Vulkan, and compiles .hnmod crates offline.
Rayan-XOO/horizon adds ViaHorizon protocol translation for joining 1.20.2 through 26.2 servers plus prebuilt entity_culling.hnmod and orbital.hnmod binaries, requiring a one-time 4 MB horizon-derived.zip pack. GoyDevv/Horizon-Android focuses on GoyControl 4-action sequential touch macros and Android Storage Access Framework (SAF) folders.
| Repository | Target Devices | Current Release | Asset Preparation | Mod & Shader Support |
|---|---|---|---|---|
horizon-rust/horizon | Windows (x64/ARM64), Linux x86_64, Steam Deck, macOS (arm64/x64) | launcher@0.2.66 & nightly (9f42064) | Horizon Launcher signs in with Microsoft or reads local 26.3 install | .hmod data packs + compiled Rust .hnmod native ABI |
starling-client/starling | Android 8.0+ (arm64-v8a, armeabi-v7a, x86_64, x86) | v0.8.0 stable & test-0.8.1-2 preview | Zero-PC setup: prepares 26.3 files on-phone in ~79s via temporary JVM | Iris/OptiFine shader translation, StarlingVisuals.zip, on-phone .hnmod compiler |
Rayan-XOO/horizon | Android 64-bit phones & tablets (dev.horizonlab.horizon) | android-v0.4.7 (65,624,188 B) | ~525 MB in-app download + ~4 MB PC-built horizon-derived.zip | Prebuilt Android .hnmod ABI 4 (entity_culling, orbital) + ViaHorizon (1.20.2-26.2) |
GoyDevv/Horizon-Android | Android (arm64-v8a, armeabi-v7a, x86_64, x86) | v1.0.1 (com.goydevv.horizon) | Built-in SAF document provider & mini archive manager | .hmod loader, GoyControl 4-slot sequential macro buttons, 260 FPS ceiling mode |
Choose your Android APK branch, mobile GPU family, and setup goal to generate verified scoped-storage paths, horizon-prepare commands, and crash recovery steps.
# Verified Android Target Profile
Port & Package: dev.horizonlab.horizon (Rayan-XOO/horizon 0.4.7)
Active Folder: /storage/emulated/0/Android/data/dev.horizonlab.horizon/files/
Saves Path: /storage/emulated/0/Android/data/dev.horizonlab.horizon/files/saves/
Mods Path: /storage/emulated/0/Android/data/dev.horizonlab.horizon/files/mods/
Shaders Path: /storage/emulated/0/Android/data/dev.horizonlab.horizon/files/shaderpacks/
Mod Formats: .hnmod (prebuilt aarch64 cdylib) + .hmod
# Recommended GPU Settings
Renderer Mode: Vulkan + Fast Opaque Pass (ON)
Render Scale: 100% (or Auto shader profile in Starling)
Chunk Distance: 12-16 chunks (Adreno 650-830) / 8 chunks (Adreno 610)
# 1. On PC (JDK 25 + Rust): generate horizon-derived.zip once from 26.3 server.jar
git clone -b android-port https://github.com/Rayan-XOO/horizon.git
cd horizon
cargo run --release -p horizon-prepare -- --prepare --server-jar ~/Downloads/server.jar
bash packaging/android/make_derived_pack.sh
# 2. Push horizon-derived.zip (~4 MB) to phone after launching app once
adb push target/android/horizon-derived.zip /sdcard/Android/data/dev.horizonlab.horizon/files/
Fixes 'No derived pack: put horizon-derived.zip in the app folder'. Rayan-XOO downloads ~525 MB in-app over Wi-Fi, then merges your 4 MB derived pack.


Drop any downloaded .exe, .dmg, .AppImage, .tar.gz, .zip, .apk, or .hnmod file below. Your browser hashes the file locally via WebCrypto and checks it against the GitHub release ledger without uploading a single byte.
Horizon desktop, Starling v0.8.0, and Rayan-XOO 0.3.7+ support Bluetooth and USB X-Input/D-Input controllers, automatically hiding touch buttons while you play.
Hall-effect sticks and triggers with low-latency 2.4G dongle and Bluetooth for desktop Horizon and Android phones.
Drift-free Hall sensors, swappable ABXY layout, and quiet face buttons tested across Windows, Linux, and Android.
Symmetrical dual-stick layout with X-Input, D-Input, and Android modes plus programmable rear hotbar paddles.
TMR electromagnetic sticks and 1000 Hz polling rate for high-refresh chunk exploration on desktop and mobile.
Affiliate disclosure: As an Amazon Associate, horizonrust.wiki earns from qualifying purchases at no added cost to you.
Direct answers verified against upstream Cargo workspaces, release notes, and issue trackers.
No. Neither horizon-rust/horizon nor its Android ports distribute Mojang code, textures, sounds, or server jars. On desktop, Horizon Launcher authenticates your Microsoft account or reads an existing Java Edition 26.3 installation to prepare local assets. On Android, Starling and Rayan-XOO generate or merge derived data locally on your device.
Install Starling v0.8.0 (or test-0.8.1-2 on Mali/PowerVR phones) if you do not have a PC, want Iris/OptiFine shaderpacks, or use Ely.by accounts, because Starling builds all 26.3 files directly on your phone in about 79 seconds. Choose Rayan-XOO 0.4.7 if you need ViaHorizon to connect to older 1.20.2 through 26.2 multiplayer servers and have a PC to generate the 4 MB horizon-derived.zip file once.
The client archives under the upstream nightly tag (horizon-windows-x64.zip, horizon-linux-x86_64.tar.gz, horizon-macos-arm64.zip) expect prepared 26.3 registries, authentication tokens, and staged native mod allocators provided by Horizon Launcher (launcher@0.2.66). Only horizon-server-linux-x86_64.tar.gz is designed to run standalone from a terminal.
No. Horizon has no Java Virtual Machine, so JVM bytecode mods (.jar) cannot load. Instead, Horizon uses lightweight .hmod content/data archives and compiled Rust dynamic libraries (.hnmod built with horizon-mod-sdk and horizon-native-abi).
That prompt appears in Rayan-XOO/horizon when horizon-derived.zip is missing. Either build horizon-derived.zip (~4 MB) on a PC using horizon-prepare against the 26.3 server.jar and copy it to /sdcard/Android/data/dev.horizonlab.horizon/files/horizon-derived.zip (or pick it via the 0.4.5+ file picker), or install Starling v0.8.0 which generates derived assets on-phone without a computer.
Yes. Desktop builds, Starling v0.8.0, and Rayan-XOO 0.3.7+ support Bluetooth and wired X-Input/D-Input gamepads such as 8BitDo, GameSir, Backbone One, and DualSense, automatically hiding touch overlays when stick or trigger input is active.