Quick answer: Load Bugnet's web SDK on your site with one script tag, initialise it with your project key and autoCaptureErrors: false (so your website's own JavaScript errors are not filed as game bugs), and call Bugnet.showWidget() from a “Report a bug” link. Reports land in the same tracker as in-game reports and crashes, grouped with them. Available on every plan.
When a game will not launch, the in-game report button is no help. Players go looking elsewhere: your website, your wiki, your Steam page's links, your launcher. If the only option there is “email us”, you get vague messages in a support inbox. A proper form on your site sends the same structured report your game would.
Why a website form helps
- Launch failures. Crashes before the SDK initialises, missing runtimes and antivirus false positives can only be reported from outside the game.
- Players who already quit. A link on your site or in your Steam announcements catches them on the way out.
- One list. Website reports sit next to in-game reports and auto-captured crashes, so the same bug from both sources groups together.
Setup
Create a free Bugnet project (or use your game's existing one) and copy the API key. Then add this to your page:
<a href="#" id="report-bug">Report a bug</a>
<script src="https://bugnet.io/sdks/web/bugnet-sdk.js"></script>
<script>
Bugnet.init({
apiKey: 'YOUR_API_KEY',
serverUrl: 'https://api.bugnet.io',
gameVersion: '1.4.2', // the current release, so reports group by build
autoCaptureErrors: false // do not file the website's own JS errors
});
document.getElementById('report-bug').addEventListener('click', (e) => {
e.preventDefault();
Bugnet.showWidget();
});
</script>
The widget asks for a title and description, plus steps to reproduce, a category and a priority. On the free plan it uses the default theme; on Studio and above the dashboard's Widget Builder lets you change its colours, header, placeholder text and buttons, and switch fields such as the email box on or off, so it matches your site. If the page has no game canvas, no screenshot is attached, which is expected on a website.
Identify signed-in players
If your site has accounts, pass what you know so reports link to the player:
Bugnet.setPlayer(steamId, displayName, email);
Reports that carry an email address get an update by email when their bug's status changes, which is the cheapest goodwill you will ever earn.
Good practice
- Ask for the platform. A website report cannot detect where the game runs, so ask for it: on Studio, change the description placeholder to something like “What happened, and on which platform?”; on any plan, say it next to the link.
- Link to known issues first. Put your public known-issues page next to the button so players can upvote an existing bug instead of filing a new one.
- Use the same project as the game. One project means website, in-game and crash reports group together.
- Mind the quota. Website reports count toward your plan's report limit like any other.
For server-side forms or Discord bots, use the bug report API directly. For in-game setup, see the best in-game bug reporting tools.
Frequently asked questions
How do I add a bug report form to my game website?
Load Bugnet's web SDK with a script tag, initialise it with your project key, server URL and autoCaptureErrors set to false, and call Bugnet.showWidget() from a Report a bug link. Reports go to the same tracker as your in-game reports.
Will my website's JavaScript errors be filed as bugs?
Not if you initialise the SDK with autoCaptureErrors set to false, which turns off automatic error capture on the page.
Can website reports be linked to a player?
Yes. Call Bugnet.setPlayer() with the player's Steam ID, name and email when you know them.
Do website reports include a screenshot?
Only if the page has a canvas element to capture. On a normal website no screenshot is attached.
Can I use the same form in my launcher?
Yes, if your launcher renders web pages, or use the bug report API directly from launcher code.
The players who cannot get into your game are the ones you most need to hear from.