godot-mod-loader patches GDScript games at runtime instead of shipping modified copies
A general purpose mod loader for GDScript based Godot Games [3.x/4.x]
At a glance
- What is it?
- godot-mod-loader is a CC0 GDScript addon that lets Godot 3.x and 4.x games load ZIP mods, patch existing scripts and scenes, and read mod metadata, without asking game makers to redistribute their own files. It is a runtime tool for mod authors and game studios, not a launcher, and it leaves the hardest part of modding, the game's own mod hooks, to the game.
- Who is it for?
- Studios that want a shipped game to accept community mods, and mod authors who need to patch a GDScript game without the maintainer's cooperation, are the people this addon is built for.
- Can I use it commercially?
- Yes. CC0-1.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 64 days ago.
- What is it written in?
- Mainly GDScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 24, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Patching a running game instead of redistributing the game
The problem this addon addresses is narrow and real. A community wants to change a GDScript game that its developer does not plan to expose an extension API for, and the usual answer has been to take the game apart, edit the scripts and hand out a repackaged build. That approach breaks updates, splits the player base across forks, and makes ownership of the modified files unclear. The Mod Loader takes the other route. It loads ZIP archives into the running game and reaches into the game's own scripts, scenes and resources while the game executes, and the documentation is explicit that vanilla game files are not shared inside a mod. In other words, a mod is a patch rather than a replacement. The two audiences are obvious from that design: studios that want their game to be moddable without shipping a modding SDK, and mod authors who need to change a game their maintainer will not modify. What the addon cannot do is invent behaviour the game never exposes. The list of games made moddable by the project, Brotato, Dome Keeper, Windowkill, Of Life and Land, Dawnfolk, The Deadseat, Upload Labs, Pathogenic and Endoparasitic, are studios that agreed to make their games compatible.
Mod metadata carries version checks and dependencies between mods
Each mod the loader accepts carries metadata, and the metadata does real work rather than just listing an author. The feature list describes compatibility checks between the game and the mod version, load order and dependencies between mods, and general information such as author and version. That matters in a runtime patch model, because a mod that swaps a scene or replaces a script can easily depend on another mod that replaced the same thing first, and without an ordering rule the result depends on whatever the loader happened to find first. The metadata is therefore the contract between mod authors, and it is also the point where a broken mod is rejected before it damages a session. A disabled mod is described as leaving no trace, which is the behaviour a player profile needs when a mod turns out to be incompatible. None of this replaces a dependency resolver of the kind a package manager offers, and the documentation does not describe conflict handling when two mods want the same target, which is a reasonable question to raise with the maintainers before shipping a wide mod catalogue.
Three mod sources: Steam Workshop, Thunderstore and a local folder
The loader has built-in sources rather than requiring every studio to write its own downloader. Steam Workshop and Thunderstore are both supported, and there is a local option that reads from a /mods folder. That covers the three distribution shapes a Godot studio actually faces: games sold on Steam, where Workshop integration is the path of least resistance, standalone games that point at Thunderstore as a community hub, and games distributed outside any store, where a folder next to the executable is the only sane option. The two store integrations also mean the loader inherits whatever moderation and versioning those services provide, which is a large part of the work a small studio would otherwise have to build. The cost is a coupling: any behaviour that Workshop or Thunderstore defines, such as how updates arrive, is outside the loader's control, and a studio that wants its own versioning scheme ends up writing a source rather than configuring one.
Self setup for games that never shipped the loader
The feature most likely to matter to an independent mod author is self setup, described as support for mods that do not have the Mod Loader preinstalled. A game built without the addon still cannot be modded by dropping in an archive, so the loader offers a way to introduce itself into a game that never agreed to carry it. This is the mechanism that makes the earlier claim about patching rather than repackaging work in practice, and it is also the mechanism with the sharpest edge, because it reaches into a game whose author may not want that. The repository itself makes the point about intent: the games it lists are ones where the studio cooperated, and the addon exists to serve that cooperation. The documentation does not spell out the exact steps of the self setup path, so a modder starting from a game with no loader support will need to consult the project wiki rather than guess from the README.
Getting the loader: tagged releases, asset library pages and dev branches
There is no build step to run, because the Mod Loader ships as a Godot addon rather than a compiled tool. The README points to the project wiki for quickstart guides and separates the two supported engine lines clearly. For Godot 3, a stable build is the v6.3.0 release, which is also listed in the Godot Asset Library as asset 1938. For Godot 4, the releases page and the Godot Asset Library entry 4107 carry the current builds, and the newest tagged release there is v7.0.1 from 2025-06-11. The Godot 3 line has its own recent tag, v6.3.0 from 2025-01-27, with v6.2.0 dated 2023-07-14 behind it. Development happens on separate branches, 4.x-dev for Godot 4 and 3.x-dev for Godot 3, and the repository's default branch is 4.x-dev, which tells you where the project's attention sits. The supported platforms are listed as Windows, macOS, Linux, Android and iOS, and the project also publishes a Discord community as its contact point.
The Godot Asset Library is a different model for a different job
The nearest thing to an alternative is the Godot Asset Library itself, and the two are easy to confuse because both are mentioned in the same section of the documentation. The Asset Library distributes addons for people building Godot projects, and the Mod Loader is published there as a convenient way to fetch the addon. For mods of a finished game, the difference in approach is fundamental. The Asset Library hands you files that you place in your own project, and the code runs where the author intended it. The Mod Loader instead injects itself into someone else's already-built game and patches the game while it runs, which is why it needs metadata, version checks, dependency ordering and multiple download sources in the first place. If a studio controls the game and can add a documented extension point, that is the cheaper route by a wide margin. The Mod Loader earns its complexity in exactly the case the Asset Library cannot cover, when the game is already shipped and its maintainer will not change it.
Where the addon stops: the class_name workaround and the version split
Two limits deserve attention. The first is explicit in the feature list: since Godot 4, there is a workaround needed to mod scripts that use class_name, which in Godot terms means a script registered under a global type name. Registering a type globally is a compile-time fact that a runtime patcher cannot always undo, so scripts written that way remain awkward to replace, and a mod author who wants to swap such a script has to work around the limitation rather than ignore it. The second is the version split. A single addon cannot cover both engine lines at once, so the Godot 3 and Godot 4 users are on different releases, different branches and different documentation, and a studio has to decide which line it supports rather than letting the community choose. The repository is not archived and the last push was on 2026-08-21, so the project is still moving, but the newest tagged release for the Godot 4 line dates from 2025-06-11, which means teams that require a versioned, supported build are looking at a gap between the branch they would use and the tag they would ship.
Editorial conclusion
Studios that want a shipped game to accept community mods, and mod authors who need to patch a GDScript game without the maintainer's cooperation, are the people this addon is built for. It is the wrong tool for a closed or non GDScript game, for a project that can simply expose its own scripting API, and for anyone who needs a supported release channel, because the newest tagged release for the Godot 4 line is v7.0.1 from 2025-06-11 and development happens on the 4.x-dev branch whose last push was on 2026-08-21. Before adopting, check whether the target game already ships its own extension points, confirm that your mods can live with the class_name workaround described for Godot 4, and decide whether you will ship the 4.x-dev branch or wait for a tagged build, since the repository publishes no newer release tag than v7.0.1.
Frequently asked questions
What does godot-mod-loader actually do to a game?
It loads ZIP archives as mods into a running GDScript game and provides methods to change existing scripts, scenes and resources, while the vanilla game files are not shared inside the mods. Disabled mods leave no trace.
How do I install godot-mod-loader in a Godot 4 game?
The documentation points to the project wiki for quickstart guides, and to the Godot Asset Library entry 4107 for the Godot 4 builds, alongside the releases page. There is no compile or build step because the loader is distributed as a Godot addon.
Which Godot versions does godot-mod-loader support?
It is developed for Godot 3 and Godot 4, with the two lines maintained separately on the 3.x-dev and 4.x-dev branches. The stable Godot 3 build is v6.3.0 from 2025-01-27, and the newest Godot 4 release is v7.0.1 from 2025-06-11.
Can mods come from Steam Workshop and Thunderstore?
Yes. Steam Workshop, Thunderstore and a local /mods folder are all built-in mod sources, and the loader also offers mod profiles, per-mod configuration, unified logging for mods and per-feature loader options.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/godotmodding-godot-mod-loader)Was this useful?