UndertaleModTool

UndertaleModTool 0.9.2.0

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

  • By krzys-h
  • Open Source
  • Updated Aug 23, 2026
Download for Windows

About UndertaleModTool

The most complete tool for modding, decompiling and unpacking Undertale (and other GameMaker games!)

Main 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.

What's new in 0.9.2.0

This is the 0.9.2.0 UndertaleModTool release, for 64-bit Windows. Downloads can be found at the bottom of this release.
("UTMT_CLI" is the command-line interface version with no GUI, supported for Windows, Ubuntu, and macOS.)
Changelog
Note: This is a minor release. To see the changes in major release 0.9.0.0, click here. To see the changes in minor release 0.9.1.0, click here.
Added
- Added support for compiling/decompiling GML template strings by @natroute in #2412.
- This means that, in many cases, string/@@string@@ will no longer appear, and $"{example}" syntax will/can be used instead.
- Added an AudioGroup macro type for game-specific type data by @setupwitch in #2418.
- This allows audio group names to get resolved in GML decompilation, when applicable.
- Added support for more asset types for the "Find all references" feature (and other related changes/fixes) by @VladiStep in #2179.
- Reference searching support was added for fonts within texture groups.
- New "Room object instances" types for code have been added (create/pre-create code entries).
- A new button has been added to Game objects, to search for the children of that object.
- The irrelevant arguments variable no longer shows up when searching for unreferenced assets.
- There is now better handling for varying GameMaker versions, including LTS 2022.
- Added support for GameMaker 2026.1 betas, for both file format and some rare GML code generation changes (with nullish compound assignments).
- Added support for optimizing variable_get_hash() during GML compilation, when possible.
- Added a Name.Regex option to GameSpecificResolver by @InvoxiPlayGames in #2438.
- Effectively, this allows for DELTARUNE to be detected more accurately across console versions.
- Added native macOS arm64 build support for the CLI by @jjezewski in #2417.
- Added a new --overwrite flag to the load command in the CLI, improving consistency across commands by @IruzzArcana in #2439.
Changed
- Built-in GameMaker functions used for GML compilation are now more accurately available based on GameMaker version by @BioTomateDE in #2428.
- Multiple dependencies updated, including some (more) mostly-irrelevant security patches in ImageMagick.
Technical Changes
- Added a new RuntimeVersion struct in UndertaleGeneralInfo for convenience by @BioTomateDE in #2406.
- Enabled usage of custom IGlobalFunctions implementations in GlobalDecompileContext by @skirlez in #2454. …

Full release notes »

Technical details

Publisherkrzys-h
Version0.9.2.0
Release date2026-08-23
LicenseGPL-3.0
Installer typezip
Architectureneutral
Package IDkrzys-h.UndertaleModTool

Links & install command

Install UndertaleModTool from the command line with Windows Package Manager (winget):

winget install --id=krzys-h.UndertaleModTool -e

decompilerdeltaruneeditorgame-makergame-maker-studiogame-maker-studio-2gamemakergmlundertaleunpacker

Older versions

  • 0.9.1.2
  • 0.9.1.1
  • 0.9.1.0
  • 0.9.0.0
  • 0.8.4.1
  • 0.8.4.0
  • 0.8.3.0
  • 0.8.2.0
  • 0.8.1.1