GodotDelta is a Godot-focused patching tool for Godot 4.x games.
It is designed for modding and patch workflows where you want to:
- build a small patch PCK from a Godot project
- apply that patch to a base game
- test changes in a sandbox without replacing the original game
- rebuild patches continuously during development
Generic delta patchers work on raw binary differences.
GodotDelta works at the Godot package level:
- understands
.pckand embedded.exeinputs - can auto-detect changed project files for patch creation
- can build runtime-oriented patch PCKs instead of full game rebuilds
- can create a sandbox copy for testing without touching the original game
In practice, this makes it more useful for Godot modding than a normal file delta tool.
- Target games:
Godot 4.x - Godot
3.xbase packs are currently rejected
Build a patch PCK from a base game and a modified Godot project:
gddelta make-patch <base.pck|base.exe> <project_dir> <output.pck>Example:
gddelta make-patch game.exe my_mod_project rom_battle_patch.pckThis command scans the project scope, detects changed inputs, and writes a patch PCK.
Apply a patch directly into the base game:
gddelta apply <base.pck|base.exe> <patch.pck>Or build a patched sandbox copy instead of overwriting the original:
gddelta apply <base.pck|base.exe> <patch.pck> <sandbox_dir>Examples:
gddelta apply game.exe rom_battle_patch.pck
gddelta apply game.exe rom_battle_patch.pck output/dev-runtimeRules:
applywithoutsandbox_dirmodifies the base game- other dev/watch commands are intended to work through sandbox output
Build a runnable sandbox from a base game and project directory:
gddelta dev-build <base.pck|base.exe> <project_dir> <sandbox_dir>Example:
gddelta dev-build game.exe my_mod_project output/live-devContinuously rebuild a live patch and refresh the sandbox:
gddelta watch-dev-build-patch <base.pck|base.exe> <project_dir> <patch.pck> <sandbox_dir> [interval_ms]Example:
gddelta watch-dev-build-patch game.exe my_mod_project output/live_patch.pck output/live-dev 500Meaning:
patch.pck: a live patch cache file that gets rebuilt repeatedlysandbox_dir: the runnable sandbox copy
Packaged builds include:
gddelta(.exe): CLIGodotDelta(.exe/.x86_64): GUIdefault.gddeltainclude
You can start the GUI directly or from CLI:
gddelta uimake-patch uses .gddeltainclude from the modder project's root directory to limit project scanning.
Pattern rules:
- normal path or glob: include
+path: force include!path: exclude
Both forms are accepted:
UI/**res://UI/**
Example:
Room/**
Script/**
+addons/custom_runtime/**
!addons/unused/**
- For non-embedded
.exeinputs, GodotDelta tries to use a sibling.pckwith the same stem. - Watch/dev flows are for testing and iteration, not final distribution.
applyis the command that intentionally replaces the original base when no sandbox directory is given.
- Some Godot pack and decompilation behavior was studied with reference to GDRETools.