StareGlare
Compare Guides Docs Privacy Terms Contact us

How to collect bug reports from a Godot game

Last updated 12 October 2026

The short answer: bind a key (or a pause-menu button) that grabs a screenshot, the end of the log and the player's system info, and opens a short form for them to describe what happened. This guide sets that up in a Godot 4 game in about ten minutes, with a way to reply to the player afterwards.

What makes a game bug report useful?

  • A screenshot of the moment, since "the boss got stuck" can mean many things.
  • The game version, OS, GPU and renderer, because many game bugs are hardware-specific.
  • The tail of the Godot log, with the errors that led up to it.
  • Game state such as the level or save slot, so you can get to the same spot.
  • A way to reach the player, to ask a follow-up question or tell them it's fixed.

Step 1: Create an app in StareGlare

Contact us for a workspace and create an app for your game. Its Install tab has your app slug and public key.

Step 2: Add the addon

Download the StareGlare addon (MIT licensed, source on GitHub) and copy its addons/stareglare folder into your project. Then open Project → Project Settings → Plugins and enable StareGlare.

Step 3: Fill in two settings

In Project Settings, set:

stareglare/app_slug = your-game
stareglare/public_key = snag_pk_…

To attach the log, turn on Debug → File Logging → Enable File Logging (Godot's logging guide explains where the file is written and what goes into it). Players can now press F9 to report a bug. You can change or turn off the key with stareglare/hotkey.

Step 4: Add a button and some context

# From your pause-menu button:
StareGlare.report()

# With extra details for this report:
StareGlare.report({"level": "forest_3", "difficulty": "hard"})

# Sent with every report from now on:
StareGlare.set_context("save_slot", 2)

Step 5: Ask for a report after a crash

The addon notices when the last session didn't exit cleanly: a crash, a freeze the player force-quit, or a power loss. Reports sent in the next session then also carry the previous session's log and are marked as a crash in your inbox. To ask the player right away:

StareGlare.crashed_last_session.connect(func():
	# Show your own "The game closed unexpectedly. Send a report?" dialog, then:
	StareGlare.report())

Nothing is sent on its own. Detection is off when you run the game from the editor.

Step 6: Send a test report and reply

Run the game, press F9 and send a report. It arrives in your inbox with the screenshot, log and system info. If the player left an email, your reply reaches them by email and their answer threads back into the same report.

Questions

How do players report bugs from a Godot game?

Give them a key or a pause-menu button that captures a screenshot, the tail of the Godot log and system info, then opens a short report form. The StareGlare Godot addon does this with one call, StareGlare.report(), and binds F9 by default.

Which platforms does the Godot addon support?

Windows, macOS and Linux exports of Godot 4. Web exports are best effort: the addon opens the report page link without a screenshot or log. Mobile is untested.

Does the addon send anything without the player knowing?

No. It only stages the screenshot and log on a short-lived session. The player sees what is attached on the report page and chooses whether to send it.

Can I attach the level or save slot to the report?

Yes. Pass a dictionary to StareGlare.report(), or call StareGlare.set_context(key, value) once and it is sent with every report.

Related guides

  • How to add a bug report button to your website
  • How to collect bug reports from a macOS app
  • How to get crash reports from a macOS app
  • How to track JavaScript errors on your website

All 6 guides, from the first report to the fix.

Contact us · More guides · Docs · Compare with other tools

StareGlare by Karakabakov Privacy · Terms · DPA