Skip to content
Infiland edited this page Oct 5, 2026 · 41 revisions

GM2Godot Documentation

Applies to: GM2Godot 1.0.0 · GameMaker LTS 2026 · Godot 4.7.2

Last reviewed: 2026-10-04

GM2Godot converts supported GameMaker source projects and GML into editable Godot projects. It combines asset conversion, a GML-to-GDScript transpiler, generated runtime helpers, compatibility diagnostics, and headless Godot validation. It is a migration aid, not a promise of automatic one-to-one gameplay parity.

Start here

Maintainers should also read Release and Wiki Maintenance.

Compatibility target

This documentation set describes:

  • GM2Godot 1.0.0;
  • GameMaker LTS 2026 source projects in the GMS2 runtime family; and
  • Godot 4.7.2 output and validation, pinned in CI as 4.7.2.stable.official.ed1daf0bf.

GameMaker beta/GMRT releases and later Godot releases are not implied by that target. GM2Godot can continue after unsupported or malformed resources and may produce a usable partial conversion; always inspect the generated diagnostics and run Godot validation before treating a migration as complete.

Typical workflow

  1. Preserve the GameMaker project and choose a separate Godot destination.
  2. Run conversion from the GUI or CLI.
  3. Read conversion_diagnostics.md and the terminal outcome.
  4. Validate the destination project, including generated resources, with the exact supported Godot version.
  5. Review unsupported or partial behavior, then continue the migration in Godot.
  6. Keep authored Godot work outside paths that GM2Godot owns and may replace on a later conversion.

Current sources of truth

The Wiki explains how to use the project. Details that change frequently remain canonical in the repository:

Generate current compatibility reports from the version of GM2Godot you are actually running instead of relying on copied API totals.

Downloads and support

Optional Deep conversion adds downloadable AI research, provider selection and a reviewed conversion plan. It is disabled by default.

Clone this wiki locally