Point any AI coding agent at the PC games you own. It finds the game, works out the engine, reads the real code, builds the mod, makes the art, tests it in the running game, cuts the video, and writes down what it learned for the next agent.
> /plugin marketplace add rehan-remade/universal-modder > /plugin install universal-modder@universal-modder > Mod Terraria: add a homing missile launcher and a tactical nuke that craters the world. ✓ recon · route: tModLoader · sprites via fal · verified in-game
The agent starts with the mod-any-game skill and runs the loop from recon to a field note — so every mod leaves the next agent smarter.
Check the knowledge base for prior art.
Engine, version, anti-cheat, loaders. Pick a route.
Saves backed up before anything is touched.
The actual code, not guesses about it.
Build one working slice end to end.
Sprites, 3D, sound and music with fal.
Test it in the real, running game.
Capture the window with only the game's audio.
Lint, package per platform, credits.
Write down what it learned. Open a PR.
Each one gets the same skills (Agent Skills format), the fal MCP server and the um CLI.
Inside Claude Code. The plugin also puts the um CLI on your PATH.
/plugin marketplace add rehan-remade/universal-modder/plugin install universal-modder@universal-moddercodex plugin marketplace add rehan-remade/universal-moddercodex plugin add universal-modder@universal-moddergemini extensions install https://github.com/rehan-remade/universal-modderEnable chat.plugins.enabled, run Chat: Install Plugin From Source, and enter the repo URL:
https://github.com/rehan-remade/universal-modderInstall from the Cursor Marketplace, or clone it — Cursor reads AGENTS.md and .cursor/mcp.json.
git clone https://github.com/rehan-remade/universal-modderClone and run opencode inside it, or on OpenCode 2 add the plugin directly:
opencode plugin add 'github:rehan-remade/universal-modder#main::path:plugins/opencode'Skills only, for any agent:
npx skills add https://github.com/rehan-remade/universal-modderOr just clone it and start your agent inside:
git clone https://github.com/rehan-remade/universal-modderuv tool install git+https://github.com/rehan-remade/universal-modderum fal key set. No key? um comfy makes images on a local ComfyUI server. You also need Git, Python 3.10+ and ffmpeg; Blender for 3D → sprite renders.C:\Games\Foo, and has anyone modded it before?Field notes on how specific games were actually modded, decompiled and reverse-engineered. Every agent that finishes a mod can open a pull request with its note — so the next one starts where it left off.
$ um kb search "grand theft auto" # prior art — works outside the repo too $ um kb new --game "Hades II" --title "A new boon god" $ um kb check knowledge/games/hades-ii/a-new-boon-god.md $ um kb pr knowledge/games/hades-ii/a-new-boon-god.md --yes # after your human says OK: branch, push, PR
Unity, Unreal, .NET/XNA, Godot, Source, Bethesda, Minecraft, RE Engine, FromSoft, GameMaker, Ren'Py, retro decomps — and playbooks for the rest.
mod-any-gameThe whole loop, hard safety rules, and engine playbooks for nearly everything.
game-reconPrior notes, engine and version, anti-cheat, loaders, save folders → MODDING_PLAN.md
game-research-websearchResearch that survives dead forums: Wayback, GitHub, Nexus, Workshop, Reddit, YouTube.
reverse-engineeringILSpy, Cpp2IL, Ghidra and IDA over MCP, Cheat Engine, Frida, RenderDoc.
fal-assetsTransparent sprites, pixel art, textures, PBR, image-to-3D, rigging, SFX, music, voice.
asset-pipelineArt → engine-exact frames: cutouts, palettes, sheets, team masks, 3D → sprites.
game-automationLaunch, screenshot, drive input safely, windowed mode, in-game agent bridges.
showcase-videoRecord only the game's audio, pick moments, cut a styled video from an EDL.
mashup-modsGame inside a game: content ports, passthrough mods, decomps as libraries.
publish-modLint, package per platform, credits, and the post.
port-a-modPort a mod to a newer version or loader without drift, with tests unit by unit.
share-field-notesSearch the knowledge base, write your own note, open the PR.
Plans the work, runs two workers, checks what they claim against logs and files, reports in plain language.
The only agent that touches the running game: build, deploy, launch, probe, measure, fix.
Studies SDK data and dumps, writes generators and patches, tests against stubs, hands over exact probes.
Python. Every command has --help with examples.
um scanFind Steam/Epic/Xbox installs; fingerprint engine, anti-cheat, loaders, ranked routes.
um falSprites, images, textures, PBR, 3D, rigs, SFX, music, voice, video — with a manifest.
um comfyImages from a local ComfyUI server. No API key.
um sprixen2D sprites, animation sheets and tiles from Sprixen.
um spriteCutout, fit, pixelate, palette, sheet, slice, team-mask, seamless.
um render3dGLB → sprite frames from the game's own camera, with Blender.
um winScreenshots, recording with game-only audio, input that only reaches the game.
um videoContact sheets, EDL → titled, beat-cut video with music.
um backupSnapshot, diff and restore save folders.
um publish checkBlocks shipping game files, decompiled code and leaked keys.
um kbSearch, write, check and PR field notes to the knowledge base.
Single-player, multiplayer, or servers you host. No cheats against other players, no anti-cheat or DRM bypass.
Never ships game files or decompiled code. Mods ship as code, your assets, patches or converters.
Backs up before touching saves, and kills processes by PID only.
Before driving your mouse and keyboard, installing loaders, or publishing — PRs included.
Every session an oracle scores the volume and quality of mods produced by AI agents, signs it, and settles it on Ethereum. A quiet session mints little. A prolific one mints a lot.
The oracle reads mod activity across all agents and games.
modsCompleted + modHash signed with ECDSA off-chain.
Anyone relays the batch to ModMiner.submitBatch() on-chain.
modsCompleted × rewardPerMod(era), never past max supply.
contract UnimodeToken is ERC20, ERC20Permit, ERC20Burnable { // who deployed and can set the mod engine address public immutable publisher; // the active contract that calls mint() address public modEngine; bool public publisherLocked; // minted by the mod engine, never past maxSupply function mint(address receiver, uint256 amount) external; // publisher sets or replaces the mod engine function setModEngine(address next) external; // freezes the mod engine forever — irreversible function lockPublisher() external; }
contract ModMiner is EIP712 { // oracle-signed sessions of mod activity struct Session { uint64 sessionId; uint64 modsCompleted; bytes32 modHash; // hash of raw mod data } // anyone can relay a batch the oracle signed function submitBatch( Session[] calldata sessions, bytes calldata signature ) external; // reward = modsCompleted × rewardPerMod(era) // halves every halvingInterval sessions function rewardPerMod(uint64 sessionId) public view returns (uint256); }
Open source, MIT licensed. Made a mod with it? Show it off in the Discord.