mod-any-game
Skill8 starsChanged 36 days agoMITView on GitHub
Mod a PC game the user owns, taking an idea to working in the real game and recorded. It covers new items, weapons, enemies, bosses, units, civilizations, mechanics, art, sound, VR and cross-game mashups. Use when the user wants to mod, extend, hack on, reverse engineer or mash up a game ("add a nuke to Terraria", "make a new civ for Age of Empires", "put Minecraft inside X", "can I mod this game?"). It covers recon (engine, loaders, anti-cheat), choosing the route, a safe lab, a first vertical slice, FixedSeed-generated assets, in-game verification and a showcase clip.
3 other projects use a version of this, 3 of them edited.
Adopted by
Most recently taken up by
- Arnie016/universal-modder-macedited, first seen Nov 1, 2026
- AhmedTahaAtiya/universal-modder-unrestrictededited, first seen Oct 11, 2026
- rehan-remade/universal-modderedited, first seen Sep 30, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 3
- rehan-remade/universal-modder★ 9.5k78% same
- AhmedTahaAtiya/universal-modder-unrestricted★ 2368% same
- Arnie016/universal-modder-mac★ 087% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository11 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- asset-pipelineSkill
- fixedseed-assetsSkill
- game-automationSkill
- game-reconSkill
- mashup-modsSkill
- publish-modSkill
- reverse-engineeringSkill
- share-field-notesSkill
- showcase-videoSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
19 rules. 10 are common, 0 are distinctive, and 9 are very specific to this project.
10
Common
Most of the 3 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 48
Start MODLOG.md in the working folder as the journal.
- Very specific: line 52
Search the knowledge base first: Run fsgc kb search "<game>" and fsgc kb search "<engine>".
- Very specific: line 56
Run fsgc scan "<game>". It reports the engine and version, whether code is managed or native, anti-cheat, mod loaders already installed, …
- Common: line 61
If the community already has a loader (tModLoader, SMAPI, BepInEx, UE4SS, REFramework, SKSE, Fabric), use it.
- Common: line 75
Write the chosen route and the reason into MODLOG.md before building.
- Very specific: line 78
Before the first modded launch, run fsgc backup create "<saves folder>" --name <game>-saves (the paths come from fsgc scan).
- Very specific: line 80
Use a separate lab profile or save folder when the loader allows it (tModLoader -tmlsavedirectory, an MO2 profile, a copy of the world or …
- Common: line 83
Use windowed mode at a known client size (registry/ini, see game-automation) so screenshots and click coordinates stay stable.
- Very specific: line 85
Keep decompiled code and extracted assets outside the repo (e.g.
- Common: line 89
Read the actual code and data instead of guessing how the engine behaves.
- Very specific: line 122
Read screenshots at reduced scale (--scale 0.33) to save tokens.
- Common: line 123
Circuit breaker: if the same failure repeats 3 times, stop.
- Very specific: line 142
Run fsgc publish check <mod> --game "<install>".
- Common: line 157
Ownership: Only mod games the user owns.
- Common: line 161
No bypasses: Never bypass anti-cheat, DRM or ownership checks.
- Common: line 164
No redistribution: Don't ship game files, decompiled source or extracted assets.
- Very specific: line 166
Back up first: Run fsgc backup before changing saves, profiles or game folders.
- Common: line 171
Never block the game's main thread (for example by waiting on ffmpeg from inside a mod).
- Common: line 176
Ask before installing a loader into the game folder, changing registry or graphics settings, deleting anything, or publishing.
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Mod any game
You are the modder. The user names a game and an idea, and you take it all the way to working in the real game, on video. The method below shipped three projects:
- a Terraria mod (homing missiles, a tactical nuke, new enemies, a boss);
- a new Age of Empires II civilization with 3D-rendered units;
- real Minecraft composited into GTA V.
It also folds in what the September 2026 wave of AI mashup mods (Minecraft in Elden Ring, skateboarding in MW2) showed about scaling up.
- Case studies:
references/case-studies.md. - Code:
examples/. - Everything other agents have written down: the knowledge base (
knowledge/in the repo,fsgc kb search).
Your tools
fsgc is the toolkit CLI. Plugin installs and clones put it on PATH (it lives at bin/fsgc in the repo).
Otherwise install it once for any agent: uv tool install git+https://github.com/Fixed-Seed/game-changer
(or pipx install ...). Every group has --help with examples.
| Need | Command |
| What games are installed, what engine, what anti-cheat, where saves live | fsgc scan --list, fsgc scan "<game>" |
| Two games at once: which one hosts, each engine's hooks, the link, milestones | fsgc passthrough plan "<game>" "<game>", or the MCP passthrough tool |
| Sprites, textures, PBR materials, 3D models, remeshes, rigs, motion, SVG, SFX, music, voice, video (FixedSeed) | fsgc fixedseed <recipe>, or the FixedSeed MCP (search_models, get_model, generate) |
| Cut out / fit / pixelate / pack sprites; 3D model → sprite frames | fsgc sprite ..., fsgc render3d ... |
| Launch, screenshot, click/type, record a Windows game (also from WSL) | fsgc win ... |
| Snapshot saves before touching them; undo | fsgc backup create/diff/restore |
| Cut a showcase video | fsgc video contact/compile/mux |
| Lint a mod before sharing (game files, decompiled code, secrets) | fsgc publish check |
Companion skills: game-recon, reverse-engineering, fixedseed-assets, asset-pipeline, game-automation, showcase-video, mashup-mods, publish-mod, share-field-notes.
The loop
0. Intake (keep it short)
- Get the game, the platform and store, and the idea in one sentence ("a homing missile launcher and a nuke that craters the world"). Also agree what done means; usually that's working in game plus a 20-45 s clip.
- Settle online vs offline up front. If the game is online or competitive and has anti-cheat, don't mod the client (see Hard rules). Offer offline modes, private servers the user runs, or the official tools (Workshop, creative/map editors).
- Start
MODLOG.mdin the working folder as the journal. Record paths, IDs, file formats, class names, what failed and why, and the next step. Anything not in the journal is lost at the next context compaction.
1. Recon (the game-recon skill does this in depth)
- Search the knowledge base first. Run
fsgc kb search "<game>"andfsgc kb search "<engine>". If another agent left a field note, start from its exact versions, route and gotchas, and don't repeat its dead ends. Withoutfsgc, read https://github.com/Fixed-Seed/game-changer/blob/main/knowledge/INDEX.md. - Run
fsgc scan "<game>". It reports the engine and version, whether code is managed or native, anti-cheat, mod loaders already installed, save folders, ranked routes, and which playbook inreferences/engines/to read. Read that playbook. - Research the community as it is now: the wiki's modding page, Nexus / Thunderstore / mod.io / Workshop, GitHub, and the loader's current release and install steps. Versions move, so don't install from memory. If the community already has a loader (tModLoader, SMAPI, BepInEx, UE4SS, REFramework, SKSE, Fabric), use it.
2. Pick the cheapest route that reaches the idea
| Route | When | Examples |
| Data / assets only | the idea fits the game's data files | AoE2 .dat via genieutils, Bethesda ESP/ESL, Paradox scripts, JSON content packs, pak overrides |
| Loader API | a loader exposes hooks for it | tModLoader ModItem/ModNPC, SMAPI, BepInEx plugin, UE4SS Lua, REFramework Lua, SKSE plugin |
| Managed-code patching | .NET/Mono/IL2CPP/Java with no API for your idea | Harmony prefix/postfix/transpiler, MonoMod, Mixin |
| Native hooks | C/C++ engine with no loader | proxy DLL (dinput8/version/winmm) + MinHook/SafetyHook, signature scans |
| Reimplement / decomp / recomp | total control, or retro consoles | N64 decomps, N64Recomp, XenonRecomp, IW4L-style rewrites that read the user's own game files |
| Mashup / passthrough | two games at once | fsgc passthrough plan, then the mashup-mods skill |
Write the chosen route and the reason into MODLOG.md before building.
3. Lab setup (the safety net)
- Before the first modded launch, run
fsgc backup create "<saves folder>" --name <game>-saves(the paths come fromfsgc scan). Snapshot the config/profile folder too if you'll change settings. - Use a separate lab profile or save folder when the loader allows it (tModLoader
-tmlsavedirectory, an MO2 profile, a copy of the world or scenario). Scripted takes destroy test worlds, so keep a pristine copy and restore it before every take. - Use windowed mode at a known client size (registry/ini, see game-automation) so screenshots and click coordinates stay stable.
- Keep decompiled code and extracted assets outside the repo (e.g.
~/<game>-decomp) and gitignore any derived data. Never commit game files.
4. Read the source of truth
Read the actual code and data instead of guessing how the engine behaves. The reverse-engineering skill covers the tools:
- decompile: ILSpy/
ilspycmd, Cpp2IL, Vineflower, Ghidra/IDA over MCP; - dump data: genieutils, xEdit, UndertaleModTool, FModel;
- inspect live: UnityExplorer, the UE4SS live viewer, REFramework, Cheat Engine.
Record exact names and IDs in MODLOG.md. Check what the executable enforces as well as what the data says. In AoE2 the data happily holds a 64th civilization, but the civ picker only lists civs from a table hard-coded in the exe, so the mod replaces a slot instead of adding one.
5. Vertical slice first
Take one item, unit or weapon all the way through with placeholder art. Define it, launch, and prove it appears and works, from the log plus a screenshot you actually look at. Only then widen. Commit each working step in the mod's own git repo.
6. Assets (fixedseed-assets and asset-pipeline skills)
Study the game's own assets first: size, palette, outline, camera angle, facing, frame layout. Then generate
with fsgc fixedseed. Every call is recorded in fixedseed_manifest.jsonl. Convert with fsgc sprite / fsgc render3d into
exactly what the engine loads.
- Consistency across many angles and frames: generate one concept, turn it into 3D
(
fsgc fixedseed model3d), then render every heading from the game's camera (fsgc render3d --preset aoe2). - Pixel-art games: generate on a flat background or with transparency, cut out, then do one
nearest-neighbour fit to the frame size. Ready-made recipes:
fsgc fixedseed item(a game item as true pixel art, Terraria's 2x style or plain) andfsgc fixedseed block(Minecraft block textures with their model files). - Before spending:
fsgc fixedseed estimateprices a plan;fsgc fixedseed batch plan.json --max-cents N(MCPgenerate_batch) makes every asset at once under a cap, and running it again resumes.
7. Verify in the real game (build an oracle)
The running game is the oracle; your reading of the code is not.
- Make the test repeatable: a mod-side chat command or timeline, a scenario with triggers, or a test world.
Drive the launch → menus → scene path with
fsgc win launch/drive, and check it withfsgc win shotplus the game's log files. - Read screenshots at reduced scale (
--scale 0.33) to save tokens; multiply coordinates back when clicking. - Circuit breaker: if the same failure repeats 3 times, stop. Write down what you know, then change approach or ask the user.
- Common log locations:
| Game / loader | Log |
| tModLoader | client.log |
| BepInEx | BepInEx/LogOutput.log |
| UE4SS | UE4SS.log |
| Unity | Player.log in AppData/LocalLow/<company>/<product>/ |
| SKSE | Documents/My Games/<game>/SKSE/ |
| Minecraft | logs/latest.log |
8. Showcase (the showcase-video skill)
Script the take so it's repeatable. Record the game window with the game's own audio (fsgc win record).
Choose moments from a contact sheet, then cut 20-45 s with one-line titles and a fade-out
(fsgc video compile).
9. Package and publish (the publish-mod skill)
Run fsgc publish check <mod> --game "<install>". Write a README with install steps. Credit tools, loaders and
FixedSeed-generated assets, and be honest that it was built with AI. Ship no game files.
10. Leave a field note (the share-field-notes skill)
Turn MODLOG.md into a knowledge-base note (fsgc kb new ..., then fsgc kb check). Cover:
- exact versions;
- the route;
- what the engine really does;
- how you verified it;
- numbered gotchas.
With your human's OK, open a PR (fsgc kb pr <note> --yes). Do this even if the mod isn't finished: a
documented dead end saves the next agent hours.
Hard rules
- Ownership. Only mod games the user owns.
- Online play. Stay in single-player/offline, or on servers the user controls. Never touch the client of an online game protected by anti-cheat (EasyAntiCheat, BattlEye, Vanguard, VAC on official servers, Ricochet, ACE). Never write cheats (aimbots, ESP, speedhacks) for multiplayer.
- No bypasses. Never bypass anti-cheat, DRM or ownership checks. tModLoader refuses to start unless the free tModLoader app is in the user's Steam library: add it, don't patch the check. If a game needs its anti-cheat off for mods, use only the official offline launch option.
- No redistribution. Don't ship game files, decompiled source or extracted assets. Ship your own code and assets, or patches and converters that run on the user's own install ("bring your own game files").
- Back up first. Run
fsgc backupbefore changing saves, profiles or game folders. Keep the restore path written in MODLOG.md. - Process hygiene.
- Kill by exact PID (
fsgc win kill <pid>). Never usepkill -f(it matches your own shell) or wildcard kills. - Never block the game's main thread (for example by waiting on ffmpeg from inside a mod).
- Clear crash reporters (BugSplat etc.) by PID when Steam refuses to relaunch.
- Kill by exact PID (
- The user's machine.
- Driving input takes over their mouse and keyboard. Check
fsgc win drive --proc X idleand ask before long automated sessions while they're at the PC. - Ask before installing a loader into the game folder, changing registry or graphics settings, deleting anything, or publishing.
- Driving input takes over their mouse and keyboard. Check
References
references/engines/:- big engines:
unity.md,unreal.md,godot.md,source.md,native.md; - families and frameworks:
dotnet-xna.md(Terraria, Stardew, Celeste),bethesda.md,big-frameworks.md(RE Engine, FromSoft, GTA, Cyberpunk, BG3),misc-engines.md(GameMaker, RPG Maker, Ren'Py, Paradox, Doom, HTML5, LÖVE, Java); - single games and retro:
minecraft.md,genie-aoe2.md,retro-decomp.md.
- big engines:
references/case-studies.md: Terraria, AoE2 and Minecraft × GTA V end to end, every non-obvious fact.- The knowledge base (
knowledge/at the repo root;fsgc kb search): field notes by many agents, per game and per technique. references/safety.md: the rules with their reasons, anti-cheat and legal hygiene.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

