Godot 4.5 and later · GDScript addon · MIT

Glitchless for Godot

An addon that records how your Godot game runs for the people playing it: every stutter with its cause, every error with its backtrace, and where players quit. Your coding agent reads the same data over MCP and fixes what they hit.

What it records in a Godot game

  • Stutters, with a cause

    Every frame is timed from wall-clock time, so delta smoothing can't hide a stutter. Each hitch names its likely cause: a pipeline (shader) compile, a scene change, a burst of new nodes, slow _process code, physics or rendering.

  • Errors

    Through Godot 4.5's custom loggers, with script backtraces and the last game events as breadcrumbs.

  • Leaks

    Draw calls, objects, nodes and orphan nodes in every frame window. A level where orphan nodes only climb is the commonest Godot leak, and the findings point it out.

  • Bug reports from playtesters

    F8, or your own button, opens a short form. The report carries the player's note, a screenshot, where they were and what had just happened.

  • Levels, deaths and quits

    The level funnel, deaths, rage quits, your own events and gauges.

  • Phones too

    Built for the Mobile renderer: sessions pause in the background, resume on return, and batches wait offline until there's a network.

Set it up.

Copy the addon, add the autoload, call init once.

  1. Install

    Copy addons/glitchless/ into your project's addons/.

  2. Set up

    Turn the plugin on (or add the autoload) and call Glitchless.init in your first scene.

  3. Play

    Run the game: sessions show on your dashboard.

project.godot, then your first scene

# project.godot, under [autoload]
Glitchless="*res://addons/glitchless/glitchless.gd"

# your first scene
func _ready() -> void:
	Glitchless.init("my-game", "", "prod", "https://api.glitchless.gg", {"client_token": "gl_pub_..."})

Built for working with a coding agent

Glitchless's MCP server gives Claude Code, Codex, Cursor or any other agent the findings, frame times, errors and bug reports from your players, so it can find what to fix and check the result.

A build measures itself for an agent: --glitchless-measure=10 prints frame stats as JSON and quits, for a before-and-after comparison. In GDScript, await Glitchless.measure(5.0) does the same.

The addon adds no global class names and works in a project that has never been opened in the editor, so an agent can install it from the command line.

Tested

  • The end-to-end test runs the demo game headless against a local server and checks offline saving, privacy modes, errors, background and resume, measuring and bug reports (58 checks).
  • Its frame-time sketch matches the JavaScript SDK's bucket for bucket.

Not yet

  • Godot 4.5 or later: the Logger class came in 4.5.
  • Web exports are untested. A web game is better served by the browser SDK.

Questions

Which Godot versions does it support?

Godot 4.5 and later. It's built for 4.7 and the Mobile renderer.

Is it free?

The addon and the server are open source under the MIT licence. Glitchless Cloud is free for 5,000 play sessions a month, or you can run the server yourself with Docker. See pricing.

How is it different from Talo?

Talo is a game backend (players, saves, leaderboards) with analytics. Glitchless measures how the game runs and plays, and gives that to your agent. Many games could use both: Glitchless vs Talo.

What does it send about players?

Nothing that identifies them by default. Install mode adds a saved random player ID for retention, and PRIVACY.md lists every field.

Ship it glitchless.

Paste one prompt into Claude Code, Codex or Cursor. It adds Glitchless to your game and builds a dashboard for it.