The most complete tool for modding, decompiling and unpacking Undertale (and other GameMaker games!)
See the codeThe most complete tool for modding, decompiling and unpacking Undertale (and other GameMaker games!)
* (Seeing such a specialized tool, the culmination of work from many amazing contributors...)
* (It fills you with determination.)
UndertaleModTool_v0.9.2.0-Windows.zip), or the CLI version if you know what you're doingUndertaleModTool.exe to start the tooldata.win, game.ios, game.unx, etc.) via File → OpenAs of writing, there is no official method of running UndertaleModTool's GUI on macOS or Linux. However, there are some options available:
Both the latest stable and nightly releases can be downloaded from the table below! The nightly releases are more likely to have issues, but contain the most recent features and fixes.
UndertaleModTool has a few different versions to choose from. The differences are as follows:
GUI (default) - the tool has a full graphical interface, making data file viewing and manipulation convenient.CLI - the tool is accessible only via a command-line interface, which is useful for automation and quick tasks, but is more difficult to use.Single file - the tool is only one executable, with all dependencies embedded within it. This makes your folders cleaner, however it can also cause stability issues in certain cases.Non-single file (default) - all dependencies are not embedded within the executable, and are now located right next to it. Choose this if you don't care about finding the right executable within ~300 DLL files, or if the stability issues from the Single file build affect you..yydebug file for the GM:S debugger so that you can edit variables live! (see here)dna.txt file next to the executable.Here are some screenshots of what UTMT can do:
UndertaleModTool comes with a decently-sized collection of C# scripts that extend its functionality. For more information on them, consult the SCRIPTS.md file.
If you find a bug, a data file that does not load etc., please report it on the issues page.
For more details on contributions, the project's AI policy (tl;dr: no), and what needs to be worked on, see the CONTRIBUTING.md file.
In order to compile the repo yourself, the .NET Core 10 SDK or later is required.
When cloning using Git, make sure to recursively clone submodules (e.g. with --recurse-submodules), as a submodule is used for the Underanalyzer dependency.
The following projects can be compiled:
UndertaleModLib: The core library used by all other projects.UndertaleModCli: A command line interface for interacting with GameMaker data files and applying scripts. Currently is very primitive in what it can do.UndertaleModTool: The main graphical user interface for interacting with GameMaker data files. Windows is required in order to compile this.UndertaleModTool.sln in the IDE of your choice (Visual Studio, JetBrains Rider, Visual Studio Code etc.)UndertaleModTool.slndotnet publish <Project> where <Project> is one of the projects listed above.
You can also provide arguments for compiling, such as --no-self-contained or -c release. For a full list of arguments, consult the Microsoft Documentation.Interested in the file and instruction format research I've done while working on this? Check out the Wiki for full details and documentation.
Special thanks to everybody who did previous research on unpacking and decompiling Undertale, it was a really huge help:
as well as all the other contributors:
And of course, special thanks to Toby Fox and the whole Undertale team for making the game(s) ;)

(top 30 of 81)
C#
99.6%
The most complete tool for modding, decompiling and unpacking Undertale (and other GameMaker games!)
See the codeThe most complete tool for modding, decompiling and unpacking Undertale (and other GameMaker games!)
* (Seeing such a specialized tool, the culmination of work from many amazing contributors...)
* (It fills you with determination.)
UndertaleModTool_v0.9.2.0-Windows.zip), or the CLI version if you know what you're doingUndertaleModTool.exe to start the tooldata.win, game.ios, game.unx, etc.) via File → OpenAs of writing, there is no official method of running UndertaleModTool's GUI on macOS or Linux. However, there are some options available:
Both the latest stable and nightly releases can be downloaded from the table below! The nightly releases are more likely to have issues, but contain the most recent features and fixes.
UndertaleModTool has a few different versions to choose from. The differences are as follows:
GUI (default) - the tool has a full graphical interface, making data file viewing and manipulation convenient.CLI - the tool is accessible only via a command-line interface, which is useful for automation and quick tasks, but is more difficult to use.Single file - the tool is only one executable, with all dependencies embedded within it. This makes your folders cleaner, however it can also cause stability issues in certain cases.Non-single file (default) - all dependencies are not embedded within the executable, and are now located right next to it. Choose this if you don't care about finding the right executable within ~300 DLL files, or if the stability issues from the Single file build affect you..yydebug file for the GM:S debugger so that you can edit variables live! (see here)dna.txt file next to the executable.Here are some screenshots of what UTMT can do:
UndertaleModTool comes with a decently-sized collection of C# scripts that extend its functionality. For more information on them, consult the SCRIPTS.md file.
If you find a bug, a data file that does not load etc., please report it on the issues page.
For more details on contributions, the project's AI policy (tl;dr: no), and what needs to be worked on, see the CONTRIBUTING.md file.
In order to compile the repo yourself, the .NET Core 10 SDK or later is required.
When cloning using Git, make sure to recursively clone submodules (e.g. with --recurse-submodules), as a submodule is used for the Underanalyzer dependency.
The following projects can be compiled:
UndertaleModLib: The core library used by all other projects.UndertaleModCli: A command line interface for interacting with GameMaker data files and applying scripts. Currently is very primitive in what it can do.UndertaleModTool: The main graphical user interface for interacting with GameMaker data files. Windows is required in order to compile this.UndertaleModTool.sln in the IDE of your choice (Visual Studio, JetBrains Rider, Visual Studio Code etc.)UndertaleModTool.slndotnet publish <Project> where <Project> is one of the projects listed above.
You can also provide arguments for compiling, such as --no-self-contained or -c release. For a full list of arguments, consult the Microsoft Documentation.Interested in the file and instruction format research I've done while working on this? Check out the Wiki for full details and documentation.
Special thanks to everybody who did previous research on unpacking and decompiling Undertale, it was a really huge help:
as well as all the other contributors:
And of course, special thanks to Toby Fox and the whole Undertale team for making the game(s) ;)

(top 30 of 81)
C#
99.6%