BugSplat's com.bugsplat.unity package provides crash and exception reporting for Unity projects. BugSplat provides you with invaluable insight into the issues tripping up your users. Our Unity integration collects screenshots, log files, exceptions, and Windows minidumps so that you can fix bugs and deliver a better user experience.


BugSplat's com.bugsplat.unity package can be added to your project via OpenUPM or a URL to our git repository.


Information on how to install the OpenUPM package for node.js can be found here.
openupm add com.bugsplat.unity


Information on adding a Unity package via a git URL can be found here.


BugSplat's Unity integration is flexible and can be used in a variety of ways. The easiest way to get started is to create new script and attach it to a GameObject. In your script, add a using statement that aliases BugSplatUnity.BugSplat as BugSplat.
using BugSplat = BugSplatUnity.BugSplat;
Next, create a new instance of BugSplat passing it your database, application, and version. Use Application.productName, and Application.version for application and version respectively.
var bugsplat = new BugSplat(database, Application.productName, Application.version);
You can set the defaults for a variety of properties on the BugSplat instance. These default values will be used in exception and crash posts. Additionally, you can tell BugSplat to capture a screenshot, include the Player.log file, and include the Editor.log file when an exception is recorded.
bugsplat.Attachments.Add(new FileInfo("/path/to/attachment.txt"));
bugsplat.Description = "description!";
bugsplat.Email = "[email protected]";
bugsplat.Key = "key!";
bugsplat.User = "Fred";
bugsplat.CaptureEditorLog = true;
bugsplat.CapturePlayerLog = false;
bugsplat.CaptureScreenshots = true;
You can send exceptions to BugSplat in a try/catch block by calling Post.
throw new Exception("BugSplat rocks!");
catch (Exception ex)
The default values specified on the instance of BugSplat can be overridden in the call to Post. Additionally, you can provide a callback to Post that will be invoked with the result once the upload is complete.
var options = new ReportPostOptions()
Description = "a new description",
Email = "[email protected]",
Key = "a new key!",
User = "Barney"
options.AdditionalAttachments.Add(new FileInfo("/path/to/additional.txt"));
static async void callback(HttpResponseMessage response)
var status = response.StatusCode;
var contents = await response.Content.ReadAsStringAsync();
Debug.Log(quot;Response {status}: {contents}");
StartCoroutine(bugsplat.Post(ex, options, callback));
You can also configure a global LogMessageReceived callback. When the BugSplat instance receives a logging event where the type is Exception it will upload the exception.
Application.logMessageReceived += bugsplat.LogMessageReceived;
BugSplat can be configured to upload Windows minidumps created by the UnityCrashHandler. If your game contains Native Windows C++ plugins, .exe, .dll and .pdb files in the Assets/Plugins/x86 and Assets/Plugins/x86_64 folders they will be uploaded by BugSplat's PostBuild script and used in symbolication.
Each of the methods that post crashes to BugSplat also accepts a MinidumpPostOptions parameter and a callback. The usage of MinidumpPostOptions and callback are nearly identically to the ExceptionPostOptions the example listed above.
Once you've posted an exception or a minidump to BugSplat click the link in the ID column on either the Dashboard or Crashes pages to see details about your crash.
Unity crash reports


A few settings must be changed in order to capture function names and line numbers in a WebGL exception report. Open File > Build Settings and switch the platform to WebGL and check Development Build.
Unity Build Settings Menu
Click the button that says Player Settings, highlight the Player section. Under Publishing Settings, select Full With Stacktrace.
Unity Player Publishing Settings
Please note that Unity does not recommend shipping development builds and thus this configuration is not recommended for applications in production.


BugSplat ❤️ 's open source! If you feel that this integration can be improved, please open an Issue. If you have an awesome new feature you'd like to implement, we'd love to merge your Pull Request. You can also reach out to us via an email to [email protected] or the in-app chat on bugsplat.com.
Last modified 4mo ago