{"id":"ffac76f6-7a85-4f43-bd3a-a79b5a6bb82c","slug":"universal-modder","kind":"mcp","name":"universal-modder","summary":"Point Claude at any game. Skills, tools and the fal MCP that let Claude Code mod almost any PC game you own: recon, reverse engineering, fal-generated art/3D/audio, in-game testing, showcase videos.","owner":"rehan-remade","repoUrl":"https://github.com/rehan-remade/universal-modder","license":"MIT","licenseTier":"permissive","trust":"community","stars":8105,"match":null,"fewStars":false,"format":"mcp","createdAt":"2026-09-30T05:00:35.000Z","addedAt":"2026-10-14T05:35:25.897Z","logoUrl":"https://avatars.githubusercontent.com/u/173837546?u=9e57fe0c8c45d3278f6eab62739a8de9364a3e7b&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["developer-tools","design-media"],"tags":["age-of-empires","claude-code","claude-code-plugin","fal","game-assets","game-modding","modding","reverse-engineering"],"runtime":"python","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-17T05:37:34.785Z","sample":false,"url":"https://conduits.dev/tools/universal-modder","language":"Python","transports":["stdio"],"install":{"pypi":"universal-modder"},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"<p align=\"center\">\n  <img src=\"docs/media/banner.png\" alt=\"universal-modder: mod any game. Point any AI coding agent at the PC games you own. Publish your mods, remix other people's, and make new ones.\" width=\"100%\">\n</p>\n\n<p align=\"center\">\n  <b>Skills, tools and a shared knowledge base that let any AI coding agent mod almost any PC game you own.</b><br>\n  The agent finds the game, works out the engine and the route, reads the real code, builds the mod, makes art, 3D and sound\n  with <a href=\"https://fal.ai\">fal</a>, tests it in the running game, cuts the video, and writes down what it learned for the next agent.\n</p>\n\n<p align=\"center\">\n  <a href=\"https://discord.com/invite/sEZWaf7vV\"><img alt=\"community: join us on discord\" src=\"docs/media/badges/discord.png\" height=\"26\"></a>\n  <a href=\"#install\"><img alt=\"works with Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode\" src=\"docs/media/badges/agents.png\" height=\"26\"></a>\n  <a href=\"knowledge/INDEX.md\"><img alt=\"knowledge base: field notes by agents, for agents\" src=\"docs/media/badges/knowledge.png\" height=\"26\"></a>\n  <a href=\"https://fal.ai\"><img alt=\"assets: fal\" src=\"docs/media/badges/fal.png\" height=\"26\"></a>\n  <a href=\"LICENSE\"><img alt=\"license: MIT\" src=\"docs/media/badges/license.png\" height=\"26\"></a>\n</p>\n\n<p align=\"center\">\n  <img src=\"docs/media/mods-teaser.gif\" alt=\"Six mods made by AI coding agents, with the universal-modder tile in the corner: Steve gliding an elytra through Los Santos, the Nether spreading over Los Santos, Minecraft mobs fighting the LSPD, the Halo Warthog in Minecraft, a World at War flamethrower in Minecraft, and World at War zombies in Minecraft. It ends on the universal-modder logo and &quot;mod any game.&quot;\" width=\"560\">\n</p>\n\n<p align=\"center\"><b>Coming next: the mod hub at <a href=\"https://universalmodder.com\">universalmodder.com</a>.</b> Publish your mods, remix other people's, and make new ones.<br>\n  Share what you make, get help, and follow along:</p>\n<p align=\"center\">\n  <a href=\"https://discord.com/invite/sEZWaf7vV\"><picture><source media=\"(prefers-color-scheme: dark)\" srcset=\"docs/media/discord-dark.svg\"><img src=\"docs/media/discord-light.svg\" height=\"32\" alt=\"join the discord\"></picture></a>\n</p>\n\n## Install\n\nPick your agent. Each gets the same skills (Agent Skills format), the fal MCP server, and the `um` CLI.\n\n| Agent | Install |\n|---|---|\n| **Claude Code** | `/plugin marketplace add rehan-remade/universal-modder`<br>`/plugin install universal-modder@universal-modder` |\n| **Codex** | `codex plugin marketplace add rehan-remade/universal-modder`<br>`codex plugin add universal-modder@universal-modder` |\n| **Gemini CLI** | `gemini extensions install https://github.com/rehan-remade/universal-modder` |\n| **VS Code / Copilot** | Enable `chat.plugins.enabled`, run **Chat: Install Plugin From Source**, and enter this repo's URL |\n| **Cursor** | Cursor Marketplace, or clone (Cursor reads `AGENTS.md` and `.cursor/mcp.json`) |\n| **OpenCode** | Clone and run `opencode` inside it (`opencode.json` adds the skills and the fal MCP server)<br>or, on OpenCode 2, `opencode plugin add 'github:rehan-remade/universal-modder#main::path:plugins/opencode'` (the `um` tool and fal MCP; add the skills with **Skills only**) |\n| **Skills only**<br>(any agent) | `npx skills add https://github.com/rehan-remade/universal-modder` |\n| **Anything else** | `git clone https://github.com/rehan-remade/universal-modder` and start your agent inside it |\n\nInside a clone, each agent finds the skills where it looks for them: `.agents/skills` (Codex, Gemini CLI,\nCopilot, Cursor, OpenCode) and `.claude/skills` (Claude Code) are copies of `skills/`. Instructions are in\n`AGENTS.md`, which `CLAUDE.md` and `GEMINI.md` point to. MCP config is in `.mcp.json`, `.codex/config.toml`,\n`.cursor/mcp.json`, `.vscode/mcp.json` and `opencode.json` (which also points OpenCode at `skills/`).\n\nWithout a clone, OpenCode 2 installs the plugin in `plugins/opencode/` with `opencode plugin add`: one\n`um_run` tool that passes its arguments straight to the CLI and runs `um` from PATH (see below), plus the\nfal MCP server when `FAL_KEY` is set and none is configured. A clone doesn't need it. See\n`plugins/opencode/README.md`.\n\n**The `um` CLI.** The Claude Code plugin puts it on PATH (its SessionStart hook), and so does a clone opened in\nClaude Code (`.claude/settings.json`); in a clone with another agent, `export PATH=\"$PWD/bin:$PATH\"`. Other\nagents' plugin installs (Codex, Cursor, Gemini CLI, OpenCode) don't, so install it once:\n```bash\nuv tool install git+https://github.com/rehan-remade/universal-modder     # or: pipx install git+...\n```\n**For assets,** get a [fal API key](https://fal.ai/dashboard/keys). It powers both the fal MCP server and\n`um fal`. Rather than exporting it from a shell profile or a `.env`, store it once with `um fal key set`: on\nLinux it goes into the desktop keyring (libsecret's `secret-tool`), elsewhere into an owner-only\n`~/.secrets/fal-key`, and `um fal` finds it there (`um fal key status` shows which source is used). `FAL_KEY`\nin the environment still works and wins. The agent configs read `FAL_KEY`, so start your agent with it set; on\nLinux, take it from the keyring as below. With no key, fal's OAuth endpoint `https://mcp.fal.ai/mcp-relay`\nsigns you in through the browser instead ([fal's MCP guides](https://fal.ai/docs/documentation/setting-up/mcp)),\nand `um comfy` makes images on a local ComfyUI server.\n```bash\num fal key set                                                   # hidden prompt\nexport FAL_KEY=\"$(secret-tool lookup service fal.ai key api)\"    # Linux: before starting the agent\n```\nYou also need Git, Python 3.10+ and ffmpeg. `uv` is recommended. Blender is needed for 3D → sprite renders.\nWindows games are driven natively or from WSL.\n\n## Try it\n> Mod Terraria: add a homing missile launcher and a tactical nuke that craters the world. Make the sprites with fal.\n\n> Make a new civilization for Age of Empires II with a unique unit rendered from 3D.\n\n> Put real Minecraft inside GTA V story mode. Minecraft's camera should follow GTA's, and its TNT should blow up GTA cars.\n\n> Port the Warthog from my Halo install into Minecraft, with a gunner on the turret.\n\n> What engine is `C:\\Games\\Foo`, and has anyone modded it before?\n\nThe agent starts with the **mod-any-game** skill and runs the same loop every time:\n1. search the knowledge base;\n2. recon, then pick a route;\n3. set up a safe lab (saves backed up);\n4. read the actual code;\n5. build one working slice;\n6. generate assets;\n7. verify in the real game;\n8. record;\n9. package;\n10. write a field note for the next agent.\n\n## A knowledge base that AIs write for AIs\n[`knowledge/`](knowledge/) holds **field notes**: how specific games were actually modded, decompiled and\nreverse-engineered. Each note gives:\n- the exact versions that worked;\n- the route, and why;\n- what the engine really does;\n- how it was verified;\n- the gotchas (symptom → cause → fix).\n\n**Every agent that finishes a mod can open a pull request with its note**, so the next agent starts where it\nleft off instead of rediscovering the same traps.\n\n```bash\num kb search \"grand theft auto\"                 # before you start: prior art (works outside the repo too)\num kb new --game \"Hades II\" --title \"A new boon god\" --from-scan hades --agent \"Codex (gpt-6)\"\num kb check knowledge/games/hades-ii/a-new-boon-god.md\num kb pr knowledge/games/hades-ii/a-new-boon-god.md --yes    # after your human says OK: branch, push, PR\n```\nBrowse [`knowledge/INDEX.md`](knowledge/INDEX.md). Every game is welcome. Contribution rules, for humans and\nAIs, are in [`CONTRIBUTING.md`](CONTRIBUTING.md): no game files, no decompiled dumps, no cheating other\nplayers, and an honest status and verification.\n\nA few notes from the community:\n- [Portalcraft: real Minecraft inside Portal 2](knowledge/games/portal-2/portalcraft-minecraft-inside-portal-2.md)\n- [Halo 3 weapons, Covenant, vehicles and maps ported into Minecraft](knowledge/games/halo-3-mcc/halo-3-weapons-covenant-vehicles-and-maps-ported-into-minecr.md)\n- [Bloons TD 6 inside Minecraft, with the game's rules as a headless sim](knowledge/games/minecraft/bloons-td-6-in-minecraft.md)\n- [A CS2-style conversion of Elden Ring offline, as a native Rust DLL](knowledge/games/elden-ring/cs2-conversion-of-elden-ring-offline-native-rust-dll-via-me3.md)\n\n## What's inside\n\n**Skills** (`skills/`, Agent Skills format)\n\n<table>\n  <thead><tr><th width=\"200\">Skill</th><th>What it does</th></tr></thead>\n  <tbody>\n    <tr><td><a href=\"skills/mod-any-game\"><code>mod-any-game</code></a></td><td>The whole loop, hard safety rules, and <b>engine playbooks</b>: Unity, Unreal, .NET/XNA (Terraria, Stardew, Celeste), Godot, Source 1/2, Bethesda, Minecraft, AoE2/Genie, Bannerlord, Binding of Isaac, RE Engine/MT Framework/FromSoft/GTA/Hedgehog Engine/Black Rock/Cyberpunk/BG3/Avalanche, native C++, indie engines (GameMaker, RPG Maker, Ren'Py, Paradox, Doom, HTML5, LÖVE, Java), retro decomps</td></tr>\n    <tr><td><a href=\"skills/game-recon\"><code>game-recon</code></a></td><td>Prior field notes, engine and version, managed or native, anti-cheat, loaders, save folders, community route → <code>MODDING_PLAN.md</code></td></tr>\n    <tr><td><a href=\"skills/game-research-websearch\"><code>game-research-websearch</code></a></td><td>Open-web research that survives dead forums: Wayback/archive.today, GitHub/code and Nexus/Workshop/Thunderstore APIs, Reddit/YouTube, login-gated handoff, screenshots as evidence</td></tr>\n    <tr><td><a href=\"skills/reverse-engineering\"><code>reverse-engineering</code></a></td><td>ILSpy / Cpp2IL / Vineflower / Ghidra and IDA over MCP / Cheat Engine / Frida / RenderDoc; reverse-engineer a file format and prove it with a round trip</td></tr>\n    <tr><td><a href=\"skills/fal-assets\"><code>fal-assets</code></a></td><td>Sprites with real transparency, consistent variants, pixel art, seamless textures, PBR maps, image-to-3D, auto-rigging, SFX, music, voice, cutscene video</td></tr>\n    <tr><td><a href=\"skills/asset-pipeline\"><code>asset-pipeline</code></a></td><td>Art → engine-exact frames: cutout, nearest-neighbour fit, palettes, sheets, team-colour masks, 3D → 8/16-heading sprites</td></tr>\n    <tr><td><a href=\"skills/game-automation\"><code>game-automation</code></a></td><td>Launch, screenshot (GPU-safe), click/type safely, windowed mode, crash-reporter cleanup, in-game agent bridges</td></tr>\n    <tr><td><a href=\"skills/showcase-video\"><code>showcase-video</code></a></td><td>Record the window with only the game's audio, pick moments, cut a styled video from an EDL</td></tr>\n    <tr><td><a href=\"skills/mashup-mods\"><code>mashup-mods</code></a></td><td>Game inside a game: content ports, passthrough mods (worked example: Minecraft × GTA V), decomps as libraries, reimplementations</td></tr>\n    <tr><td><a href=\"skills/publish-mod\"><code>publish-mod</code></a></td><td>Lint, package per platform, credits, the post</td></tr>\n    <tr><td><a href=\"skills/port-a-mod\"><code>port-a-mod</code></a></td><td>Port an existing mod to a newer version or loader without drift: one pinned source, a private decompile, data extracted by script, unit-by-unit tests, audits by layer, resumable status docs, and a Forge 1.7.10 → Fabric 1.20.1 mapping table</td></tr>\n    <tr><td><a href=\"skills/share-field-notes\"><code>share-field-notes</code></a></td><td>Search the knowledge base, write your own note, open the PR</td></tr>\n  </tbody>\n</table>\n\n**Agents** (`agents/`, subagent files with `name` + `description` frontmatter): a three-agent team for mods\nthat take days. Claude Code loads them with the plugin; in a clone, start with\n`claude --plugin-dir . --agent mod-orchestrator`. Cursor plugins and Gemini CLI extensions read an `agents/`\nfolder too (untested here; Gemini CLI's subagents can't start other subagents). Three agents use several\ntimes the tokens of one, so keep it for long mods. What worked for one user: the orchestrator on Fable 5.1 at\nmedium effort, the game worker on Sonnet 5.5 at medium, and the offline worker on Opus 5.5 at high. Any agent can\nread the files as role briefs.\n\n<table>\n  <thead><tr><th width=\"200\">Agent</th><th>What it does</th></tr></thead>\n  <tbody>\n    <tr><td><a href=\"agents/mod-orchestrator.md\"><code>mod-orchestrator</code></a></td><td>The supervisor. Plans the work, runs the two workers, checks what they claim against logs and files, and reports to the human in plain language. Start it as the main session: <code>claude --agent mod-orchestrator</code></td></tr>\n    <tr><td><a href=\"agents/mod-game-worker.md\"><code>mod-game-worker</code></a></td><td>The only agent that touches the running game: build, deploy, launch, probe, measure, fix</td></tr>\n    <tr><td><a href=\"agents/mod-offline-worker.md\"><code>mod-offline-worker</code></a></td><td>Never touches the game: studies SDK data, dumps and other mods, designs features, writes generators and patches, tests them against stubs, and hands over the exact live probes to run</td></tr>\n  </tbody>\n</table>\n\n**The `um` CLI** (Python). Every command has `--help` with examples.\n\n<!-- GitHub lets images in auto-width tables shrink to nothing: the widths and the no-break spaces keep the icons at 36 px. -->\n<table>\n  <thead><tr><th width=\"62\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</th><th width=\"170\">Command</th><th>What it does</th></tr></thead>\n  <tbody>\n    <tr><td align=\"center\"><picture><source media=\"(prefers-color-scheme: dark)\" srcset=\"docs/media/icons/scan-dark.svg\"><img src=\"docs/media/icons/scan-light.svg\" width=\"36\" height=\"36\" alt=\"\"></picture></td><td><code>um scan</code></td><td>Find Steam/Epic/Xbox installs; fingerprint engine and version, .NET vs native, anti-cheat, installed loaders, save folders, ranked routes</td></tr>\n    <tr><td align=\"center\"><picture><source media=\"(prefers-color-scheme: dark)\" srcset=\"docs/media/icons/fal-dark.svg\"><img src=\"docs/media/icons/fal-light.svg\" width=\"36\" height=\"36\" alt=\"\"></picture></td><td><code>um fal</code></td><td><code>sprite</code>, <code>image</code>, <code>edit</code>, <code>rmbg</code>, <code>pixelate</code>, <code>upscale</code>, <code>texture</code>, <code>pbr</code>, <code>model3d</code>, <code>rig</code>, <code>sfx</code>, <code>music</code>, <code>voice</code>, <code>video</code>, <code>run</code>, <code>search</code>, <code>schema</code>, <code>price</code>. Plain REST, with a manifest of every generation</td></tr>\n    <tr><td align=\"center\"><picture><source media=\"(prefers-color-scheme: dark)\" srcset=\"docs/media/icons/comfy-dark.svg\"><img src=\"docs/media/icons/comfy-light.svg\" width=\"36\" height=\"36\" alt=\"\"></picture></td><td><code>um comfy</code></td><td><code>status</code>, <code>image</code> (<code>--sprite</code> cuts it out), <code>run</code> (any workflow saved with Export (API)). Images from a local ComfyUI server, no API key</td></tr>\n    <tr><td align=\"center\"><picture><source media=\"(prefers-color-scheme: dark)\" srcset=\"docs/media/icons/sprite-dark.svg\"><img src=\"docs/media/icons/sprite-light.svg\" width=\"36\" height=\"36\" alt=\"\"></picture></td><td><code>um sprite</code></td><td><code>cutout</code>, <code>fit</code>, <code>pixelate</code>, <code>palette</code>, <code>sheet</code>, <code>slice</code>, <code>frames</code>, <code>team-mask</code>, <code>seamless</code>, <code>preview</code></td></tr>\n    <tr><td align=\"center\"><picture><source media=\"(prefers-color-scheme: dark)\" srcset=\"docs/media/icons/render3d-dark.svg\"><img src=\"docs/media/icons/render3d-light.svg\" width=\"36\" height=\"36\" alt=\"\"></picture></td><td><code>um render3d</code></td><td>GLB → sprite frames from the game's camera (<code>aoe2</code>, <code>iso8</code>, <code>trueiso</code>, <code>topdown</code>, <code>side</code>, <code>turntable</code>) with Blender</td></tr>\n    <tr><td align=\"center\"><picture><source media=\"(prefers-color-scheme: dark)\" srcset=\"docs/media/icons/win-dark.svg\"><img src=\"docs/media/icons/win-light.svg\" width=\"36\" height=\"36\" alt=\"\"></picture></td><td><code>um win</code></td><td><code>shot</code>, <code>record</code> (gfxcapture + process-loopback audio), <code>drive</code> (input that only reaches the game), <code>ps</code>, <code>kill</code>, <code>launch</code>, <code>reg</code></td></tr>\n    <tr><td align=\"center\"><picture><source media=\"(prefers-color-scheme: dark)\" srcset=\"docs/media/icons/video-dark.svg\"><img src=\"docs/media/icons/video-light.svg\" width=\"36\" height=\"36\" alt=\"\"></picture></td><td><code>um video</code></td><td><code>contact</code> sheets, <code>compile</code> (EDL → titled, beat-cut video with music), <code>mux</code>, <code>beats</code>, <code>first-frame</code></td></tr>\n    <tr><td align=\"center\"><picture><source media=\"(prefers-color-scheme: dark)\" srcset=\"docs/media/icons/backup-dark.svg\"><img src=\"docs/media/icons/backup-light.svg\" width=\"36\" height=\"36\" alt=\"\"></picture></td><td><code>um backup</code></td><td>Snapshot, diff and restore save folders</td></tr>\n    <tr><td align=\"center\"><picture><source media=\"(prefers-color-scheme: dark)\" srcset=\"docs/media/icons/publish-dark.svg\"><img src=\"docs/media/icons/publish-light.svg\" width=\"36\" height=\"36\" alt=\"\"></picture></td><td><code>um publish check</code></td><td>Blocks shipping game files, decompiled code and leaked keys</td></tr>\n    <tr><td align=\"center\"><picture><source media=\"(prefers-color-scheme: dark)\" srcset=\"docs/media/icons/kb-dark.svg\"><img src=\"docs/media/icons/kb-light.svg\" width=\"36\" height=\"36\" alt=\"\"></picture></td><td><code>um kb</code></td><td>The knowledge base: <code>search</code>, <code>show</code>, <code>new</code>, <code>check</code>, <code>index</code>, <code>sync</code>, <code>pr</code></td></tr>\n  </tbody>\n</table>\n\nTwo no-build Windows tools ship inside the package (`um/ps1/`): WinDrive input and ProcLoopback game-only\naudio, both PowerShell with embedded C#.\n\n<p align=\"center\"><img src=\"docs/media/pipeline.png\" alt=\"The 3D route: a fal concept, then a fal 3D model, then 16 AoE2 headings from um render3d. The 2D route: fal art, a cutout, a 64x26 sprite, and the sprite working in Terraria.\" width=\"100%\"></p>\n\n## Built with it\n- **[examples/terraria-tmodloader](examples/terraria-tmodloader)**: *Fal Arsenal* for tModLoader.\n  - Weapons: a homing missile launcher, a tactical nuke (crater + mushroom cloud), a chain-lightning rifle, a\n    black-hole gun and an orbital strike.\n  - Three new enemies and a two-phase Drone Mothership boss.\n  - Every sprite came from fal.\n- **[examples/aoe2-de-civ](examples/aoe2-de-civ)**: *San Franciscans* for Age of Empires II DE.\n  - A new civilization with a Robotaxi unique unit and Delivery Drones, rendered from fal image-to-3D models\n    at AoE2's camera angle.\n  - A Transamerica Pyramid wonder.\n  - A reverse-engineered `.sld` sprite writer.\n- **[examples/minecraft-gta5-passthrough](examples/minecraft-gta5-passthrough)**: real Minecraft inside\n  GTA V story mode.\n  - A Fabric mod and a ScriptHookV + ReShade add-on exchange camera, ground and events over a local\n    WebSocket.\n  - Minecraft's colour + depth are depth-composited into GTA's frame.\n  - Minecraft TNT, arrows and fireworks become GTA explosions and bullets, and Minecraft mobs fight the\n    police.\n\nEach has a field note with every non-obvious lesson: [knowledge/INDEX.md](knowledge/INDEX.md).\n\n## Rules it follows\n- **Any game you own: single-player, multiplayer, or servers you host.** It refuses to inject into online\n  games with anti-cheat, write cheats against other players, or bypass anti-cheat, DRM or ownership checks.\n- **It never ships game files or decompiled code.** Mods ship as code, your own assets, patches or\n  converters.\n- **It backs up before touching saves**, and kills processes by PID only.\n- **It asks before** driving your mouse and keyboard, installing loaders into game folders, or publishing,\n  PRs included.\n\nFull reasoning: [`skills/mod-any-game/references/safety.md`](skills/mod-any-game/references/safety.md).\n\n## Made a mod with it?\nShow it off in the [Discord](https://discord.com/invite/sEZWaf7vV), and put the badge on your mod's page:\n\n<p>\n  <a href=\"https://github.com/rehan-remade/universal-modder\"><picture><source media=\"(prefers-color-scheme: dark)\" srcset=\"docs/media/made-with-dark.svg\"><img src=\"docs/media/made-with-light.svg\" height=\"32\" alt=\"made with universal-modder\"></picture></a>\n</p>\n\n```markdown\n[![made with universal-modder](https://raw.githubusercontent.com/rehan-remade/universal-modder/main/docs/media/made-with-dark.svg)](https://github.com/rehan-remade/universal-modder)\n```\nUse `made-with-light.svg` on a light page.\n\n## Credits\n- Built from real agent sessions modding Terraria, Age of Empires II and GTA V × Minecraft.\n- Assets: [fal](https://fal.ai) (GPT Image 2, Nano Banana 2, FLUX, Trellis 2, ElevenLabs...).\n- Standing on the shoulders of tModLoader, genieutils-py, AoE2ScenarioParser, ScriptHookV, ReShade, Fabric,\n  BepInEx, Harmony, UE4SS, REFramework, SKSE, ILSpy, Ghidra and every modding community that documented its\n  game.\n- The engine playbooks also draw on the September 2026 wave of AI-built mods, and on how their creators\n  explained them in public.\n\nMIT licensed. Brand type: Geist Pixel, Sometype Mono and Instrument Sans. Video titles: Space Grotesk and JetBrains Mono. All under the SIL OFL.\n\n## Star history\n\n<p align=\"center\">\n  <a href=\"https://github.com/rehan-remade/universal-modder/stargazers\"><img src=\"https://raw.githubusercontent.com/rehan-remade/universal-modder/star-chart/stars.svg\" width=\"800\" alt=\"universal-modder's GitHub stars over time\"></a>\n</p>\n"}