Configuration options

Most Bugsnag settings can be configured from the Unity Inspector, but you can also change settings inside your scripts:

AppVersion

If you want to manually track in which versions of your application each exception happens, you can set AppVersion.

Bugsnag.AppVersion = "1.2.3-alpha";

AutoNotify

By default, we will automatically notify Bugsnag of any fatal exceptions (crashes) in your game. If you want to stop this from happening, you can set the Auto Notify property in the Unity Inspector.

You can also change this setting in your scripts as follows:

Bugsnag.AutoNotify = false;

Context

Bugsnag uses the concept of contexts to help display and group your errors. Contexts represent what was happening in your game at the time an error occurs. By default, this will be set to be your currently active Unity Scene.

If you would like to set the Bugsnag context manually, you can set the Context property in your scripts:

Bugsnag.Context = "Space Port";

NotifyLevel

By default, Bugsnag will be notified about any Exception logged to Debug.LogException. You can send additional log information to Bugsnag (eg. all Debug.LogError messages) by changing the Notify Level property in the Unity Inspector.

You can also change this setting in your scripts as follows:

Bugsnag.NotifyLevel = LogSeverity.Error;

If you use other Unity log levels (like Debug.LogError or Debug.LogAssertion) which only contains a text field, Bugsnag can display the log as a header with an associated message. The log needs to be in the format <header>: <message> with the header having no spaces, for example:

Debug.Log("PlayerWonMetric: Player won game for the first time");

MapUnityLogToSeverity

By default, Bugsnag will treat any error, exception and assert logs as Bugsnag errors (rather than warnings or infos). You can define your own custom mappings between Unity log levels and Bugsnag severities by providing individual mappings:

// Map all Unity assertion logs to Bugsnag warnings
Bugsnag.MapUnityLogToSeverity(Bugsnag.LogSeverity.Assert, Bugsnag.Severity.Warning);

NotifyReleaseStages

By default, we notify Bugsnag of all exceptions that happen in your app. If you would like to change which release stages notify Bugsnag of exceptions you can set the notifyReleaseStages property:

Bugsnag.NotifyReleaseStages = ["staging", "production"];

NotifyUrl

By default Bugsnag sends exceptions to bugsnag.com, if you’re running Bugsnag On-premise, you can change this to point to your local Bugsnag server:

Bugsnag.NotifyUrl = "http://bugsnag.internal.example.com";

ReleaseStage

If you would like to distinguish between errors that happen in different stages of your game’s release process (development, qa, production, etc) you can set the ReleaseStage in your scripts:

Bugsnag.ReleaseStage = "development";

By default this is set to be production if the build is a release build, and development for a development build.

User

Bugsnag helps you understand how many of your users are affected by each error. In order to do this, we send along a userId with every exception. By default we will generate a unique ID and send this ID along with every exception from an individual device.

If you would like to override this userId, for example to set it to be a username of your currently logged in user, you can set the userId property:

Bugsnag.SetUser("userId", "User Name", "user@email.com");

You can also set the email and name of the user and these will be searchable in the dashboard.