Why Claude Code is the reference agent
The project's author built the toolkit from real Claude Code sessions, and the repo ships Claude-specific wiring: a plugin marketplace (.claude-plugin/), skills copied to .claude/skills, the fal MCP server in .mcp.json, and a SessionStart hook that puts the umCLI on PATH every time a session starts or resumes. Other agents work too (see themulti-agent install guide), but Claude Code gets the most tested path.
1. Install Claude Code
Skip this if claude --version already works.
curl -fsSL https://claude.ai/install.sh | bashirm https://claude.ai/install.ps1 | iexThen make a working folder for your mods (for example ~/mods or C:\mods), runclaude inside it and sign in. You need a Claude Pro, Max, Team or Enterprise plan, or a Console account with API billing. If anything looks wrong, run claude doctor.
Also install the toolkit's prerequisites: Git, Python 3.10+, ffmpeg and uv (one-line installs).
2. Add the Universal Modder plugin
/plugin marketplace add rehan-remade/universal-modder
/plugin install universal-modder@universal-modder- Pick user scope so the plugin is available in every project folder.
- Run
/reload-pluginsif Claude Code asks, or restart the session. - Prefer the shell? The same thing works as
claude plugin marketplace add …andclaude plugin install …. - Getting an SSH error? See troubleshooting.
What the plugin installs
| Piece | What it does in Claude Code |
|---|---|
| 11 skills | Loaded on demand when a request matches; callable as /universal-modder:<skill> |
| fal MCP server | HTTP MCP at mcp.fal.ai, authenticated with $FAL_KEY: search models, check prices, run generations |
um CLI | A SessionStart hook adds it to PATH on startup, resume, clear and compact |
| Knowledge base | um kb search reads the field notes, even outside the repo |
3. Connect fal for art, 3D and audio
The fal MCP server reads FAL_KEY from the environment Claude Code starts in. Create a key atfal.ai/dashboard/keys, export it, and restartclaude.
export FAL_KEY="your-key" # macOS / Linux / WSL
setx FAL_KEY "your-key" # Windows, then open a new terminalCheck it with /mcp inside Claude Code: the fal server should show as connected. Prices per asset are on the cost page.
Calling the skills
You rarely need to name a skill: a request like “mod Stardew Valley so…” loads mod-any-game, which pulls in the others as needed. To force one, type its slash command:
| Slash command | Use it for |
|---|---|
/universal-modder:mod-any-game | The full loop and 12 engine playbooks. Loads for any modding request. |
/universal-modder:game-recon | Engine, version, anti-cheat, loaders, saves → MODDING_PLAN.md. |
/universal-modder:game-research-websearch | Finds the community route, including dead forums via the Wayback Machine. |
/universal-modder:reverse-engineering | ILSpy, Cpp2IL, Ghidra/IDA over MCP, Frida, RenderDoc; proves formats with round trips. |
/universal-modder:fal-assets | Sprites with real transparency, textures, PBR, 3D, rigs, SFX, music, voice. |
/universal-modder:asset-pipeline | Fits art to the engine: cutouts, palettes, sheets, team-colour masks, 3D → sprites. |
/universal-modder:game-automation | Launch, screenshot, safe input, crash-reporter cleanup. |
/universal-modder:showcase-video | Records with game-only audio and cuts a styled clip. |
/universal-modder:mashup-mods | Game-inside-a-game: ports, passthrough, reimplementations. |
/universal-modder:publish-mod | Lint, package per platform, credits, the release post. |
/universal-modder:share-field-notes | Writes a knowledge-base note and opens the PR (with your OK). |
Prompts that work
Good prompts name the game, one concrete outcome, and what “done” looks like. Examples from the project README:
Mod Terraria: add a homing missile launcher and a tactical nuke that craters the world. Make the sprites with fal.Make a new civilization for Age of Empires II with a unique unit rendered from 3D.Put real Minecraft inside GTA V story mode. Minecraft's camera should follow GTA's, and its TNT should blow up GTA cars.What engine is C:\Games\Foo, and has anyone modded it before?Tips that save tokens and money:
- Recon first, build second. Ask for the plan before any change; it writes
MODDING_PLAN.md. - One slice at a time. A single working weapon beats ten half-built ones.
- Placeholders before fal. Generate final art only once the mechanic works in game.
- Ask for a price. “Check
um fal pricebefore generating the 3D model.” - Hands off during tests. Don't use the PC while it drives the game or records.
Long projects and context limits
The skill keeps a journal in MODLOG.md (paths, IDs, formats, what failed, the next step), so nothing important is lost when Claude Code compacts the conversation. Start a fresh session with:
Read MODLOG.md and MODDING_PLAN.md and continue from the next step.When the mod works, ask it to write a field note with the share-field-notes skill. It opens a pull request to the shared knowledge base only after you say OK.
What Claude Code has built with it
- Age of Empires II: Definitive Edition: San Franciscans: a new civilization for Age of Empires II DE with units rendered from 3D
- Baldur's Gate 3: Act 2 never loads (hang at 50% or crash): one modded NPC on a bad level layer, found by bisecting a pak
- Baldur's Gate 3: A generated wardrobe mod: 260 clothing mods sorted by race and body type into containers summoned by reusable scrolls
- Baldur's Gate 3: Custom outfits from cloned mod and vanilla meshes: visuals, materials, body masks, cloth, LODs, icons and the Blender GR2 round trip
- Baldur's Gate 3: Gameplay and compatibility patches in stats and Osiris: level-gated armour tiers, Extra Attack on a modded cantrip, crit immunity, stacking damage reduction, feats from items, removing equipment glow, a class vs starting-equipment fix
- Baldur's Gate 3: Running a 500+ mod load order by hand: modsettings.lsx rules, recovering a wiped order from a save, mod.io re-subscribes, game-folder files and conflict diagnosis
- Baldur's Gate 3: Weapons: porting a Skyrim dagger and scabbard, fixing a modded sword's sheath height with a Dummy_Sheath bone, and visible stowed shields for modded shields
- Borderlands 2: BL3 weapons and movement in Borderlands 2 (Willow2 SDK mods)
- Darkest Dungeon: A seeded randomizer (trinkets, heroes, monsters, curios, quirks, quests) as a Darkest Dungeon data mod
- Dragon's Dogma 2: Blink Strike teleports behind the target (REFramework Lua skill rework)
- Dragon's Dogma 2: Dimension Door: aimed teleport spell with a scripted arrival camera (REFramework Lua)
- Elden Ring: CS2 conversion of Elden Ring offline: native Rust DLL via me3 (fall death, spirit springs, 3D inspect, params)
Frequently asked questions
Do I need a paid Claude plan to use Universal Modder?
Claude Code needs a Claude Pro, Max, Team or Enterprise plan, or a Claude Console (API) account. Universal Modder itself is free. Modding sessions are long, so heavier projects fit better on Max or API billing.
Which Claude model should I use for modding?
Use the most capable model you have for recon and reverse engineering. Most field notes in the knowledge base were written by Claude Code running Opus-class models. A faster model is fine for asset batches and packaging.
Is this related to Claude Code's own “mods” or plugins for Claude Code itself?
No. Universal Modder modifies games. It is distributed as a Claude Code plugin, but it doesn't change how Claude Code looks or behaves.
Can I use Universal Modder without the plugin system?
Yes. Clone the repo and start claude inside it. Claude Code reads CLAUDE.md, the skills in .claude/skills, the fal MCP server in .mcp.json, and a SessionStart hook puts bin/um on PATH.
Does Claude Code run the game for me?
On Windows (or from WSL) it can launch the game, take screenshots, send input only to the game window and record clips with um win, but it asks before driving your mouse and keyboard. On macOS and Linux you launch and check the game yourself.