Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

UndertaleModTool Switch: Difference between revisions

From GameBrew
No edit summary
0.9.1.0
 
Line 4: Line 4:
|description=The most complete tool for modding, decompiling and unpacking Undertale (and other Game Maker: Studio games).
|description=The most complete tool for modding, decompiling and unpacking Undertale (and other Game Maker: Studio games).
|author=krzys-h
|author=krzys-h
|lastupdated=2026/04/29
|lastupdated=2026/06/19
|type=Hack Utilities
|type=Hack Utilities
|version=0.9.0.0
|version=0.9.1.0
|license=GPL-3.0
|license=GPL-3.0
|downloadraw=[https://github.com/krzys-h/UndertaleModTool/releases/tag/bleeding-edge Bleeding Edge] - [https://github.com/UnderminersTeam/UndertaleModTool/releases/tag/0.9.0.0 Stable Download]
|downloadraw=[https://github.com/krzys-h/UndertaleModTool/releases/tag/bleeding-edge Bleeding Edge] - [https://github.com/UnderminersTeam/UndertaleModTool/releases/tag/0.9.0.0 Stable Download]
Line 16: Line 16:
The most complete tool for modding, decompiling and unpacking Undertale (and other Game Maker: Studio games).
The most complete tool for modding, decompiling and unpacking Undertale (and other Game Maker: Studio games).


==Features==
UndertaleModTool has a few different versions to choose from. The differences are as follows:
*Can read every single byte from the data file for lastest version of Undertale, Deltarune, and most other GameMaker: Studio games (GM:S 1.4 and GMS2 bytecode versions 13 to 17 are currently supported) for every platform and then recreate a byte-for-byte exact copy from the decoded data.
* GUI (default) - the tool has a full graphical interface, making data file viewing and manipulation convenient.
*Properly handles all of the pointers in the file so that if you add/remove stuff, make things longer/shorter, move them around etc. the file format won't break.
* 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.
*An editor which lets you change (almost) every single value, including unknown ones.
* 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.
*Includes a simple room/level editor.
* 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.
*Allows for code disassembly and editing. This means you can add any custom code to the game, either using the built-in GML compiler or GML assembly.
*Experimental high-level decompiler. The output is accurate (except for the latest GameMaker versions), but it could use some more cleaning up of the high-level structures.
*Support for running scripts that automatically modify your data file (or perform other nefarious tasks) - this is the way to distribute mods, but creating them is a manual job for now. It also serves as a replacement for sharing hex editor offsets - if you make it into a file-format-aware script instead, there is much smaller change of it breaking after an update.
*All core IO functionality extracted into a library for use in external tools.
*Can generate an .yydebug file for the GM:S debugger so that you can edit variables live ([https://github.com/krzys-h/UndertaleModTool/wiki/Corrections-to-GameMaker-Studio-1.4-data.win-format-and-VM-bytecode,-.yydebug-format-and-debugger-instructions#yydebug-file-format see here]).
*Automatic file associations for all GameMaker related files. This can be disabled by having a dna.txt file next to the executable.


==User guide==
Documentation is available on [https://github.com/krzys-h/UndertaleModTool/wiki UndertaleModTool wiki].  
UndertaleModTool has different builds per release. The differences are as follows:


*<code>.NET bundled</code> - Bundles the required .NET runtime version needed to run the tool alongside it. All stable releases are .NET bundled, so you don't have to worry about installing the necessary runtime.
==Features==
*<code>Single file</code> - The tool is only one executable, with all dependencies embedded within it. This does make your folders cleaner, however it also causes some unexpected stability issues.
* Can read every single byte from the data file for latest versions of Undertale, Deltarune, and most other GameMaker games, and then recreate a byte-for-byte exact copy from the decoded data.
*<code>Non-single File</code> - All dependencies are not embedded within the executable, but are now located right next to it. Choose this if you don't care about finding the right executable in-between of ~300 dll's, or if the stability issues from the Single file build affect you.
* Properly handles all of the pointers in the file so that if you add/remove stuff, make things longer/shorter, move them around, etc., the file format won't break.
 
* An editor which lets you change (almost) every single value, including unknown ones.
Some test scripts are included:
* Includes a simple room/level editor.
 
* Allows for GML VM code editing. This means you can add any custom code to a game, either using the built-in GML compiler or GML assembly. (YYC is not supported for this.)
*Universal:
* High-level GML decompiler and compiler. Supports a large range of GameMaker versions, and most important GML features (still missing a few).
**Search - Basic text search within decompiled code entries.
* Support for running scripts that automatically modify your data file (or perform other nefarious tasks). This can be used for mod distribution, aside from other methods such as file patches/project systems.
**Scripts to batch import and export various types of asset files.
* All core functionality extracted into a library for use in external tools.
*Undertale only:
* Can generate a <code>.yydebug</code> file for the GM:S debugger so that you can edit variables live! (see [https://github.com/UnderminersTeam/UndertaleModTool/wiki/Corrections-to-GameMaker-Studio-1.4-data.win-format-and-VM-bytecode,-.yydebug-format-and-debugger-instructions#yydebug-file-format here])
**EnableDebug - Activates [https://tcrf.net/Undertale/Debug_Mode Undertale's debug mode] by enabling the global variable 'debug' at game start.
* Automatic file associations for all GameMaker related data files. This is opt-in at the first boot of the tool, and can also be disabled by having a <code>dna.txt</code> file next to the executable.
**DebugToggler - Allows toggling the debug mode on and off with the F1 key.
**BorderEnabler - Facilitates the importation of PlayStation exclusive borders into the PC version, while ensuring proper display by patching version checks.
**Testing - Displays random text on the main menu, this was the first script ever created.
**TTFFonts - Makes the game load fonts in TTF format from current directory instead of using the spritesheet fonts. You'll need to provide the font files yourself.
**RoomOfDetermination - Adds a new room to Undertale 1.08. Although incomplete, it serves as a comprehensive example of adding content.
*Deltarune only:
**DeltaHATE - [https://www.reddit.com/r/Undertale/comments/41lb16/hate_the_undertale_corruptor/ HATE]-inspired script for corrupting Deltarune
**DeltaMILK - Replaces every non-background sprite with the K.Round healing milk. Don't ask why.
**TheWholeWorldRevolving - Creates a spinning effect.
*Undertale and Deltarune only:
**GoToRoom - Replaces the F3 button's debug mode functionality with a dialog allowing you to jump to any room by its ID.
**ShowRoomName - Displays the current room name and ID on the screen during debug mode.
 
Additionally, there are some community-made scripts. For more information, consult the [https://github.com/krzys-h/UndertaleModTool#included-scripts SCRIPTS.md] file.
 
Documentation is available on [https://github.com/krzys-h/UndertaleModTool/wiki UndertaleModTool wiki].  


==Screenshots==
==Screenshots==

Latest revision as of 07:40, 19 June 2026

UndertaleModTool
General
Authorkrzys-h
TypeHack Utilities
Version0.9.1.0
LicenseGPL-3.0
Last Updated2026/06/19
Links
Bleeding Edge - Stable Download
Website
Source

The most complete tool for modding, decompiling and unpacking Undertale (and other Game Maker: Studio games).

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.

Documentation is available on UndertaleModTool wiki.

Features

  • Can read every single byte from the data file for latest versions of Undertale, Deltarune, and most other GameMaker games, and then recreate a byte-for-byte exact copy from the decoded data.
  • Properly handles all of the pointers in the file so that if you add/remove stuff, make things longer/shorter, move them around, etc., the file format won't break.
  • An editor which lets you change (almost) every single value, including unknown ones.
  • Includes a simple room/level editor.
  • Allows for GML VM code editing. This means you can add any custom code to a game, either using the built-in GML compiler or GML assembly. (YYC is not supported for this.)
  • High-level GML decompiler and compiler. Supports a large range of GameMaker versions, and most important GML features (still missing a few).
  • Support for running scripts that automatically modify your data file (or perform other nefarious tasks). This can be used for mod distribution, aside from other methods such as file patches/project systems.
  • All core functionality extracted into a library for use in external tools.
  • Can generate a .yydebug file for the GM:S debugger so that you can edit variables live! (see here)
  • Automatic file associations for all GameMaker related data files. This is opt-in at the first boot of the tool, and can also be disabled by having a dna.txt file next to the executable.

Screenshots

undertalemodtoolnx2.png

Undertale: Bits and Pieces
undertalemodtoolnx3.png

RIBBIT - The Deltarune Mod
undertalemodtoolnx4.png

Changelog

Release notes.

External links

Advertising: