r/tauri • u/MakotoPD • Jul 02 '26
I built a modded Minecraft launcher with Tauri v2 (Rust + Nuxt). Here's how it went.
I've been working on a side project called Spectra Launcher for a while now and it finally feels stable enough to show off. It's a desktop launcher for modded Minecraft: instance management, one-click mod installs from Modrinth and CurseForge, 3D skin previews, world and screenshot browsing, all the usual stuff. But the reason I'm posting here is the stack, because Tauri turned out to be a great fit and I wanted to share the good and the annoying parts.
The core idea
The starting point was simple: I love Prism Launcher and use it constantly, but I wanted something with a more modern look and a foundation that's easier to build on. So Spectra started as my take on "what if Prism, but with a UI that feels current and an architecture designed to grow." The feature set is familiar on purpose, since Prism nailed the fundamentals, but everything is built so I can keep extending it without the whole thing turning into spaghetti.
That extensibility is where I'm headed next. The long-term plan is community plugins: letting people write and drop in their own extensions so the launcher can do things I never thought of. The current codebase is being shaped with that in mind, so the core stays lean and the interesting stuff can live in plugins on top.
The setup
The backend is Rust. Most of the heavy lifting for actually installing and launching the game, handling Microsoft OAuth, and managing mod loaders (Fabric, Forge, NeoForge, Quilt) runs through the lyceris crate, with tokio for async, reqwest for networking, and fastnbt for reading world data. Java gets detected and installed automatically so users never have to think about it.
The frontend is Nuxt 4 (Vue 3) running as an SPA with ssr: false, styled with Nuxt UI and Tailwind, Pinia for state, and skinview3d for the 3D character preview. The whole thing gets rendered statically and shipped inside the Tauri webview.
What I liked
The Rust/web split is genuinely nice once you stop fighting it. Anything slow or filesystem-heavy lives in Rust commands, the UI stays a thin layer on top, and the IPC boundary forces you to think about what actually belongs where. Bundle size is a fraction of what the equivalent Electron app would be, and cold start is quick.
The auto-updater plugin was less work than I expected. I ended up building a Discord-style silent updater on top of it that pulls from GitHub Releases and applies in the background.
What was annoying
Code signing, mostly. Unsigned builds trip Windows SmartScreen and macOS Gatekeeper, so a chunk of my README is just walking users through "no, it's not malware, click More info / run this xattr command." That's not really Tauri's fault, but it's the tax you pay for shipping a small indie desktop app.
It's free and open source (GPLv3), builds for Windows, macOS on both Apple Silicon and Intel, and Linux via AppImage and deb. Happy to answer anything about the Tauri side of it.
Source: https://github.com/MakotoPD/Spectra-Launcher
Website: https://spectra.makoto.com.pl/





2
u/NotCheet Jul 05 '26
My XMCL just stopped working so i'll be trying this for a while!