Optional performance shell
Choose between the full standard UI and a native Rust performance UI during install or on first start.
One place to sign in, play, and keep your progress safe.
Your login details stay on your device and are stored in your operating system's secure keychain. The launcher keeps only public account info on disk, and runs mods in a sandboxed runtime so untrusted mods cannot read your passwords. Every game run is isolated to keep malicious mods from touching your system.
If you want extra visibility, enable Network Guard. It starts a per-instance local HTTP proxy (including HTTPS CONNECT tunneling) and can also best-effort monitor sockets at the OS level. The launcher shows a desktop notification once per destination (host:port / ip:port) for each running game instance.
See what's happening while you play. The launcher streams important events and game output into a built-in log viewer, keeps local logs for quick support, and shows live download progress so you know exactly what is going on.
Party invites remain backed by the canonical Uebliche Public API. Discord only carries a short-lived join secret that is valid after the user signs in with a Uebliche/Microsoft account and while the party still exists and has room.
Release builds can enable Discord Social SDK invites by providing the official SDK through UEBLICHE_DISCORD_SOCIAL_SDK_DIR or an official archive path in UEBLICHE_DISCORD_SOCIAL_SDK_ARCHIVE; release packaging copies the platform runtime library into the app bundle or next to the launcher binary. Set UEBLICHE_REQUIRE_DISCORD_SOCIAL_SDK=1 for release jobs that must fail instead of falling back when the SDK is missing. The SDK archive and runtime libraries are intentionally not committed to the repository; if the SDK is not available, the launcher keeps using the existing Discord RPC Rich Presence fallback without party invite actions.
The native Skins -> Capes tab now merges two cape sources into one browser. Your Microsoft account capes stay launcher-local and continue to use the normal Mojang flow, while moderated public uebliche capes come from the Public API with upload terms, creator metadata, and direct activation inside the launcher.
The skin builder uses the same cape browser for preview and account-wide cape activation, but saved skin projects do not store cape ids. That keeps builder drafts portable while still letting you test capes next to the current skin.
The native launcher now includes a dedicated Creator tab for shared texture packs. Create a new pack draft, target a Minecraft release, manage files under assets/**, validate the pack structure, export a ZIP, and sync the saved pack back into the shared launcher resource-pack library for profile mirroring.
The launcher now keeps two shells in one product. Stay on the standard UI when you want every feature, or switch to the native performance shell for the core launcher flows. Windows asks during install, and macOS/Linux show the same choice on first start if no preference exists yet.
Profiles are built for sharing. Export a versioned .uebliche package for file sharing, or host the same package behind a web link when you want one click from a website into the launcher import preview.
Portable exports stay compact by default. They carry the manifest, lockfile, icon, and optional bundled servers, while launcher-local RAM, Java paths, worlds, logs, caches, accounts, resource packs, and shader packs stay out of the package. If a profile uses local source=custom mods, the launcher can optionally embed only those JARs into the package.
If you browse shared profiles in Dash, you can install them directly into the launcher. Dash can still open a deep link like uebliche-launcher://import?code=ABC123, and hosted package pages can open uebliche-launcher://import?url=https://.../profile.uebliche, which brings up the same native import preview.
Pick a channel and download the latest available build for your platform.
Track feature progress in the checklist.