Quick answer: Sentry is great at exceptions, but most game bugs never throw one, and players do not read your Sentry dashboard. Keep Sentry, and add Bugnet for the player-facing half: an in-game report widget for Unity, Godot, GameMaker, Construct 3, Pygame and web games, a public known-issues page, Steam reviews and status emails to players. Bugnet's Sentry integration, available on every plan, links any report that names an exception to the matching unresolved Sentry issue, and resolving the bug in Bugnet resolves it in Sentry.
If your studio already runs Sentry for its servers, launcher or web services, putting the game in it too is the obvious move, and for exceptions it works well. What Sentry does not see is the softlock that throws no error, the player who quit after the third broken door, or the Steam review that says the save corrupts on the Deck. This guide shows how to add that missing half without replacing Sentry, and how to keep the two tools pointing at each other.
What Sentry sees, and what it does not
Sentry's game SDKs capture exceptions, crashes and, in the Unity SDK, Application Not Responding events. Its Unity SDK also has a user-feedback prefab from version 4.0. That covers the bugs that throw errors. It does not cover:
- Bugs that never throw. Falling through the floor, a quest that will not complete, a texture that renders black on one GPU.
- The player's side of the story. What they were trying to do, in their own words, with a screenshot.
- The public conversation. Steam reviews, “is this a known bug?” questions, and players asking whether their report went anywhere.
- Engines without a feedback UI. Outside Unity you build any in-game report form yourself.
The split that works
| Job | Sentry | Bugnet |
|---|---|---|
| Exception and crash monitoring across services | Yes, the source of truth | Optional, for engine context |
| In-game bug report widget | Unity prefab (SDK 4.0+) | Unity, Godot, GameMaker, Construct 3, Pygame, Web; Unreal via your own UI |
| Screenshot, recent logs, GPU, RAM, build on each report | Configurable | Attached automatically |
| Public known-issues page, roadmap, changelog | No | Yes |
| Steam review sync | No | Yes |
| Email the player when their bug is fixed | No | Yes, if they left an email |
How Bugnet links reports to Sentry issues
Every Bugnet report carries an error type when it names an exception class, such as NullReferenceException, TypeError or ZeroDivisionError. Auto-captured errors usually do; most player-written reports do not. With the Sentry integration connected:
- A report with an error type arrives. Bugnet searches your chosen Sentry project for unresolved issues with that error type and picks the most frequent one.
- The two are linked. The bug page lists the Sentry issue, and Bugnet leaves a note on the Sentry issue pointing back to the report, so whoever opens it in Sentry sees the screenshot, logs and the player's description.
- Status stays in sync. Resolving the bug in Bugnet resolves the Sentry issue, reopening it unresolves it, and marking it won't fix ignores it.
Reports without an error type are not linked automatically. When you know a player's report belongs with a Sentry issue, use Send to Sentry on the bug to link it on demand. Because matching is by exception type, give a link on a very common type such as NullReferenceException a quick check.
Setting it up
1. Create a Bugnet project and add the SDK
Sign up free, create a project and add the SDK for your engine from the SDK docs. Bind the report widget to a key or a pause-menu button, for example BugnetSDK.Instance.ShowWidget() in Unity or Bugnet.show_widget() in Godot.
2. Decide who captures exceptions
Bugnet's SDKs capture errors automatically by default, which gives every exception a screenshot and recent engine logs and is what produces error types to link. If you would rather keep exception capture in Sentry alone, switch off Auto-file Errors on the project's card on the Projects page and use Bugnet for player reports only; links are then made for player reports that name an exception and on demand.
3. Create a Sentry internal integration
In Sentry, go to Settings > Developer Settings > Custom Integrations and create an internal integration with Project: Read and Issue & Event: Read & Write permissions. Copy its token.
4. Connect it in Bugnet
Open Integrate > Integrations > Sentry, choose your region (sentry.io or de.sentry.io), paste the token, load your projects and pick the one your game reports to. Sentry's cloud regions are supported; self-hosted Sentry is not yet.
5. Close the loop with players
Turn on the public known-issues tracker so players can search and upvote existing bugs, connect your Steam app to sync reviews, and publish a changelog when a fix ships. Players who left an email in the widget hear from Bugnet when their bug's status changes.
The integration details are in the integrations docs.
What it costs
The Sentry integration is included on every Bugnet plan, including the free one (one project, up to 100 bug reports). Studio ($19 a month) raises that to 5 projects and 10,000 reports, and Studio Plus ($79 a month) removes the limits and adds session replay. If you switch off Auto-file Errors and use Bugnet for player reports only, those limits go a long way.
Or should you replace Sentry for the game?
If the game is the only thing your studio monitors, running two tools may be more than you need: Bugnet captures crashes too, with engine context, and puts them in the same list as player reports. Our Sentry vs Bugnet comparison covers that decision. If Sentry also watches your backend, keep it and link the two as above.
Frequently asked questions
Does Sentry have in-game bug reporting?
Sentry's Unity SDK includes a user-feedback prefab from version 4.0, and its other SDKs offer a feedback API you can build your own form on. Bugnet provides a ready-made report widget for Unity, Godot, GameMaker, Construct 3, Pygame and web games, plus a public known-issues page and Steam review sync.
How does Bugnet decide which Sentry issue to link?
When a Bugnet report names an exception class, Bugnet searches the connected Sentry project for unresolved issues with that error type and links the most frequent one, then leaves a note on the Sentry issue pointing to the report. Reports without an error type are not linked automatically, but you can link a bug on demand with Send to Sentry.
Does resolving a bug in Bugnet resolve it in Sentry?
Yes. Resolving the linked bug in Bugnet resolves the Sentry issue, reopening it unresolves the issue, and marking the bug won't fix ignores the issue in Sentry.
Does the integration work with self-hosted Sentry?
Not yet. The integration supports Sentry's US (sentry.io) and EU (de.sentry.io) regions.
Is the Sentry integration available on Bugnet's free plan?
Yes. Every Bugnet plan, including the free plan, can connect Sentry. Only the Jira integration requires a paid plan.
Sentry tells you what threw. Your players tell you what broke. Linking the two is how you fix the right thing first.