×


Unity Integration

Our Unity integration is now available for Beta testers, allowing Game Developers to log their Exceptions, Errors and general Structured Logging directly from within Unity to ErrLog.IO

No coding is needed, simply install our Unity Asset, and configure it with your API Key.

Unity
Beta Tester Invitation
Interested in helping test our Unity plugin? Join our group via the Discord link below, and we'll give you a full ErrLog.IO account forever just for helping out. It's free and you can use it for other platforms too (C#, JavaScript, etc.)
Join our Discord

How to download?

Currently, our package is only available to Beta testers. Simply join our Discord and we'll send you a link to download it.

Once out of Beta, it will be downloadable from both here, and also the official Unity Asset Store.

Direct Download Coming Soon
Unity Asset Store: ErrLog.IO on Unity
Via Discord: Discord

How does it work?

The ErrLog.IO package monitors logging messages within Unity, specifically looking for Error and Exception message types. It then gathers details of these messages, and submits them to ErrLog.IO

You can choose which information is sent, including device and system information.

You can also map additional GameObjects to the ErrLog.IO package, and any public variables within those objects will also be logged.

Does the package have any impact on performance?

Whilst there are no errors, there is no performance impact. When an error or exception occurs, the ErrLog.IO package will asynchronously (in the background) send the logs to ErrLog.IO. This will have a small impact on performance for a few frames, but your error itself may cause performance issues too.

How much will the Asset cost when it is available through the Asset Store?

Nothing - the asset will always be free to install from the asset store.

Is source code included?

Absolutely, the full C# source code for the Unity package is included. We welcome any suggestions or improvements too!

ErrLog.IO Unity Inspector Screenshot

Installation

The package can be downloaded via the Unity Asset store, or via www.errlog.io

It installs scripts into /assets/errlog/, although you can move these elsewhere if you wish. There are no specific folder dependencies.

Usage

To use, simply attach either of the scripts above to an empty GameObject in your project. They are global in nature, not specific to the GameObject they are attached to.

Settings – Error & Exception Logging

The script has a number of parameters.

API KeyThis is a key generated on the ErrLog.IO web site, that links your script to the system.
Application NameThe script automatically derives your application name, but you can override it with this setting.
Log ErrorsTurn this off to disable the script.
Verbose LoggingEnable this to log additional information in the Unity console. This is useful for testing data being created and sent to ErrLog.IO
Device InformationEnable this to log device & hardware details (such as screen resolution, graphics card details) to ErrLog.IO
System InformationEnable this to log system specific details (such as CPU and RAM)
GameObjects to ExposeEnable this to expose the public variables of one or more GameObjects. When enable, drag your game objects into the list, and any public variables will be sent to ErrLog.IO as well as the error or exception.
URL OverrideBy default, the script will send the error details to ErrLog.IO. You can use this setting to send the error (as a JSON object) to another URL if you wish.
TimeoutDefaults to 10 seconds – increase when you’re using a slow network to avoid timeouts when sending JSON data to ErrLog.IO
Enable Test Key PressWhen enabled, pressing ‘E’ will generate a fake error and send it to ErrLog.IO. This is useful for testing that you are using the correct API key and seeing what information is being sent.
Map to Log Message Received & ThreadedEnable these to automatically listen to Unity messages for errors and exceptions. A second option enables this for threaded messages.

Manually logging Exception Errors

You can also choose to manually log an Exception Error without using the LogMessage methods.

Simply pass your Exception object to the method below from within your Unity C# codebase, and we'll log it in ErrLog.IO automatically.

errlog.logException(Exception ex);

Structured Logging Helper Methods

Simply pass your values via our test method, or submit with your own JSON string.

errlog.logNameValuePair(string name, string value);
errlog.logJSON(string jsondata);

Settings – Structured Logging

The script sends a JSON object containing an array of name/value pairs for storage within ErrLog.IO

Logs are sent via the ErrLog system as a JSON string, such as { "apikey":"...", "name":"something", "value","12345"}

API KeyThis is a key generated on the ErrLog.IO web site, that links your script to the system.
Verbose LoggingEnable this to log additional information in the Unity console. This is useful for testing data being created and sent to ErrLog.IO
Ignore TransformsIgnores any Transform component on the GameObject(s) selected. The transform object is often unnecessary.
Enable Test Key PressWhen enabled, pressing ‘D’ will generate a sample data package and send it to ErrLog.IO. This is useful for testing that you are using the correct API key and seeing what information is being sent.
GameObjects to ExposeEnable this to expose the public variables of one or more GameObjects. When enable, drag your game objects into the list, and any public variables will be sent to ErrLog.IO as well as the error or exception.
URL OverrideBy default, the script will send the error details to ErrLog.IO. You can use this setting to send the error (as a JSON object) to another URL if you wish.
TimeoutDefaults to 10 seconds – increase when you’re using a slow network to avoid timeouts when sending JSON data to ErrLog.IO