A modern desktop launcher and mod manager for GZDoom — built with Flutter (UI) and Rust (core logic), bridged by flutter_rust_bridge.
- Assemble mod loadouts, order them, and launch GZDoom (with crash monitoring).
- Scan a mods folder, detect engines & IWADs (Steam/GOG), resolve conflicts, diagnose crashes.
- Flat DOS/terminal-style UI: one dark theme, 6 accent colors, 11 UI languages, original pixel art.
Grab the latest build from the GitHub Releases page.
Windows (x64):
DoomForge-Setup-<version>.exe— installer (Start-menu shortcut, optional desktop icon, uninstaller).DoomForge-<version>-windows-x64.zip— portable; unzip and rundoomforge.exe.
Linux / macOS: build from source (see below).
DoomForge only notifies you when a newer release exists and opens the release page — it does not self-update.
doom-forge/
├── lib/ Flutter app (Dart)
│ ├── main.dart entry: inits the Rust bridge + app data dir + window
│ ├── app.dart MaterialApp + theme wiring
│ ├── app_state.dart state (provider) + settings persistence
│ ├── shell.dart sidebar / F-bar shell + navigation
│ ├── theme/ flat dark theme tokens, 6 accent colors
│ ├── i18n/ 11 language dictionaries
│ ├── widgets/ pixel-skull BrandMark + reusable flat controls
│ ├── views/ build · library · browse · compare · crash · status · settings
│ └── src/rust/ generated FRB bindings (do not edit by hand)
├── rust/ Rust core (the launcher's brains)
│ ├── src/domain/ scan, engine, iwad, load order, profiles, launch, conflicts …
│ ├── src/services/ downloads (Freedoom/GZDoom/idgames) + Claude AI
│ └── src/api/ the flutter_rust_bridge API surface
├── rust_builder/ cargokit glue that builds `rust/` for each platform
├── windows/ linux/ macos/ Flutter desktop runners
└── pubspec.yaml
Nothing else — no Node, no web/mobile targets, no Tauri.
- Flutter SDK (stable, >= 3.44 — Dart >= 3.12.2) — includes Dart.
- Rust (stable toolchain).
- Windows: Visual Studio 2022+ with the “Desktop development with C++” workload
plus the “C++ ATL for v143 build tools” component (required by
flutter_secure_storage; without it the build fails withC1083: atlstr.h), and Developer Mode enabled (Settings → For developers, or runstart ms-settings:developers). Developer Mode is required so Flutter can create the plugin symlinks. - Linux:
clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev(+unzip).
# 1. (Windows, one time) enable Developer Mode
start ms-settings:developers # toggle "Developer Mode" ON
# 2. fetch Dart packages
flutter pub get
# 3. run the desktop app (debug)
flutter run -d windows # or: -d linux / -d macosThat’s it — flutter run compiles the Rust crate automatically (via cargokit) and
launches the app.
flutter build windows # or: linux / macos
# output: build/windows/x64/runner/Release/
# Windows installer (needs Inno Setup 6 — https://jrsoftware.org/isinfo.php):
iscc /DMyAppVersion=<version> installer\windows.iss
# output: dist/DoomForge-Setup-<version>.exeOnly needed if you change the Rust API in rust/src/api/:
cargo install flutter_rust_bridge_codegen --version 2.12.0 --locked # must match the 2.12.0 pin in pubspec.yaml / rust/Cargo.toml
flutter_rust_bridge_codegen generateMIT © DoomForge contributors.
Unofficial fan-made tool, not affiliated with id Software or ZeniMax. All artwork is original.