Playtest feedback
In-game bug reports
Let playtesters report bugs without leaving the game.
What the tester fills in
They press Ctrl+F, the game pauses, and a short form opens.
- Type
- Bug, idea or feedback.
- Severity
- Minor, annoying, bad or blocking. Optional, and only for bugs.
- What happened
- Up to 2,000 characters.
- Name and contact
- Optional.
- Keys
Esccloses,Ctrl+Entersends. The tester is told whether it sent.
What the report adds on its own
- The exact build and channel it came from
- The scene, the platform and your game's version
- Engine version, screen size, language and play time
- A random per-install id, so several reports from one tester group together
No screenshots, no logs and no input capture. Nothing personal beyond what the tester types.
Where it lands
Under Playtest in the app.
Grouped by build
Each build shows its channel, its age and how many reports it has.
Readable at a glance
Type, severity, scene, platform and version on one line, then the message.
Kept when a build is deleted
The reports stay, marked as belonging to a deleted build.
Open it from your own button
The hotkey is the default, not the only way in.
func _on_report_pressed() -> void:
LoreOwlFeedback.open()
LoreOwlFeedback.submit_finished.connect(func(ok: bool):
print("sent" if ok else "failed"))What it does not do
- No status, assignee or resolution on a report.
- No replies from the app. Use the contact the tester typed.
- No screenshots or attachments.
- No search or filters. Reports are grouped by build, newest first.
- Reports appear on refresh, not live.
- No link from a report to an issue.
Godot only. The form is a Godot addon added to the build at export.
The rest of the app
Lore version controlBranch, diff and merge game projects. Binary-aware, no terminal.Asset managementOne versioned store, and only the bytes it does not already have.CI/CD pipelineCheck and export, then ship to itch.io, Steam or Epic.Self-hosted runnersQueue builds to machines you nominate. Licences stay put.Issue trackingA board for the week, a timeline for the milestone.AnalyticsSessions and playtime with no code at all.Pre-build checksEvery scene loaded and instantiated before you ship it.Roles and accessTwo roles, and a database that enforces them.