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.
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.
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!
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 Key | This is a key generated on the ErrLog.IO web site, that links your script to the system. |
Application Name | The script automatically derives your application name, but you can override it with this setting. |
Log Errors | Turn this off to disable the script. |
Verbose Logging | Enable this to log additional information in the Unity console. This is useful for testing data being created and sent to ErrLog.IO |
Device Information | Enable this to log device & hardware details (such as screen resolution, graphics card details) to ErrLog.IO |
System Information | Enable this to log system specific details (such as CPU and RAM) |
GameObjects to Expose | Enable 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 Override | By 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. |
Timeout | Defaults to 10 seconds – increase when you’re using a slow network to avoid timeouts when sending JSON data to ErrLog.IO |
Enable Test Key Press | When 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 & Threaded | Enable 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 Key | This is a key generated on the ErrLog.IO web site, that links your script to the system. |
Verbose Logging | Enable this to log additional information in the Unity console. This is useful for testing data being created and sent to ErrLog.IO |
Ignore Transforms | Ignores any Transform component on the GameObject(s) selected. The transform object is often unnecessary. |
Enable Test Key Press | When 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 Expose | Enable 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 Override | By 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. |
Timeout | Defaults to 10 seconds – increase when you’re using a slow network to avoid timeouts when sending JSON data to ErrLog.IO |