MM Engine Docs
Everything you need to build games with Mostly Modular, from your first
mm init to shipping with mm pack.
Getting Started
Install the CLI, verify your setup, and follow the current shipped first-run path.
Build Your First Game
Walk through the beginner path we currently publish, from project creation to your first running plugin.
CLI Reference
Look up the shipped commands, flags, and aliases without guessing which docs page is canonical.
CLI Command Reference
Canonical shipped command docs for the current CLI surface, without routing readers into an unpublished API docs path.
What is MM Engine?
Mostly Modular (MM Engine) is a plugin-based game engine designed around one principle:
your game is a collection of plugins, and the engine
is just a kernel that runs them.
Every feature — rendering, audio, input, physics, your game logic — lives in a plugin.
Plugins compile to WebAssembly and run in a sandboxed environment. The kernel loads them,
wires up the event bus, and gets out of the way.
Rust is how the engine is built, and today it is also the only supported CLI plugin language. More plugin languages are planned, but not shipped yet.
Key concepts
Plugins
The unit of game logic. Each plugin declares what it does in a plugin.toml manifest,
implements the Plugin trait (or equivalent for your language), and communicates with the world
through the event bus.
Event Bus
Plugins don’t call each other — they talk through events. Subscribe to "input:move",
emit "player:moved". Loose coupling means you can swap, remove, or mock any system.
The Kernel
The runtime that loads your WASM plugins, runs the game loop, and exposes host functions
(rendering, audio, input, etc.) to plugins via the SDK.
MM Studio Web Dashboard
A web UI served at localhost:4242 while your game is running. Inspect plugins,
watch events in real time, edit settings, view scene hierarchy without restarting. This is the current browser-based dashboard, not the separate desktop app.
Quick install
Linux (x86_64)
curl -fsSLo install-mm.sh https://mostlymodular.gg/install.sh
less install-mm.sh
sh install-mm.sh
source ~/.profile # or open a new terminal
Windows (PowerShell)
iwr https://mostlymodular.gg/install.ps1 -OutFile install-mm.ps1
notepad .install-mm.ps1
powershell -ExecutionPolicy Bypass -File .install-mm.ps1
The installer script is tiny, but the full Windows release ZIP it pulls from is currently about 390 MB.
iwr ... | iex downloads the installer script and executes it immediately in your current PowerShell session. If you want to inspect it first, download install.ps1, read it locally, and then run powershell -ExecutionPolicy Bypass -File .install.ps1.
After installing, run mm doctor to verify everything is set up correctly
and get platform-specific guidance for anything missing.
Your first game
# 1. Create a project shell
mm init my-game --preset menu-shell
cd my-game
# 2. Add your first plugin
mm plugin new my-game
# 3. Build and run
mm build && mm run
# 4. Open the MM Studio Web Dashboard
mm studio
Always use mm plugin new — never call mm-init directly.
The mm CLI handles path resolution and platform differences for you.
Supported languages
Use mm plugin new <name> --lang rust for the supported CLI path today:
- rust — supported today in the CLI and compiled to WASM via
wasm32-unknown-unknown - csharp, python, go, and js are roadmap previews, not current shipped plugin workflows
