Tutorial · Claude Code

Universal Modder + Claude Code: the complete setup

Universal Modder started life as everything Claude Code learned modding Terraria and Age of Empires II. It's still the most-used agent in the knowledge base: 45 of 78 game field notes were written by Claude Code, across 23 games.

Updated Oct 9, 2026

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 um CLI on PATH every time a session starts or resumes. Other agents work too (see the multi-agent install guide), but Claude Code gets the most tested path.

1. Install Claude Code

Skip this if claude --version already works.

macos / linux / wsl
curl -fsSL https://claude.ai/install.sh | bash
windows · powershell
irm https://claude.ai/install.ps1 | iex

Then make a working folder for your mods (for example ~/mods or C:\mods), run claude 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

inside claude code
/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-plugins if Claude Code asks, or restart the session.
  • Prefer the shell? The same thing works as claude plugin marketplace add … and claude plugin install ….
  • Getting an SSH error? See troubleshooting.

What the plugin installs

PieceWhat it does in Claude Code
11 skillsLoaded on demand when a request matches; callable as /universal-modder:<skill>
fal MCP serverHTTP MCP at mcp.fal.ai, authenticated with $FAL_KEY: search models, check prices, run generations
um CLIA SessionStart hook adds it to PATH on startup, resume, clear and compact
Knowledge baseum 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 at fal.ai/dashboard/keys, export it, and restart claude.

shell
export FAL_KEY="your-key"     # macOS / Linux / WSL
setx FAL_KEY "your-key"       # Windows, then open a new terminal

Check 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 commandUse it for
/universal-modder:mod-any-gameThe full loop and 12 engine playbooks. Loads for any modding request.
/universal-modder:game-reconEngine, version, anti-cheat, loaders, saves → MODDING_PLAN.md.
/universal-modder:game-research-websearchFinds the community route, including dead forums via the Wayback Machine.
/universal-modder:reverse-engineeringILSpy, Cpp2IL, Ghidra/IDA over MCP, Frida, RenderDoc; proves formats with round trips.
/universal-modder:fal-assetsSprites with real transparency, textures, PBR, 3D, rigs, SFX, music, voice.
/universal-modder:asset-pipelineFits art to the engine: cutouts, palettes, sheets, team-colour masks, 3D → sprites.
/universal-modder:game-automationLaunch, screenshot, safe input, crash-reporter cleanup.
/universal-modder:showcase-videoRecords with game-only audio and cuts a styled clip.
/universal-modder:mashup-modsGame-inside-a-game: ports, passthrough, reimplementations.
/universal-modder:publish-modLint, package per platform, credits, the release post.
/universal-modder:share-field-notesWrites a knowledge-base note and opens the PR (with your OK).

What each skill contains →

Prompts that work

Good prompts name the game, one concrete outcome, and what “done” looks like. Examples from the project README:

prompt
Mod Terraria: add a homing missile launcher and a tactical nuke that craters the world. Make the sprites with fal.
prompt
Make a new civilization for Age of Empires II with a unique unit rendered from 3D.
prompt
Put real Minecraft inside GTA V story mode. Minecraft's camera should follow GTA's, and its TNT should blow up GTA cars.
prompt
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 price before 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:

prompt
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)

Browse every game →

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.