Documentation


/
Docs


Documentation

MM Engine Docs

Everything you need to build games with Mostly Modular, from your first
mm init to shipping with mm pack.

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.

Design principle

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.

Security note

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.

Tip

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
Note

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