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
_processcode, 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.
- Install
Copy
addons/glitchless/into your project'saddons/. - Set up
Turn the plugin on (or add the autoload) and call
Glitchless.initin your first scene. - 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.