Crash Reporting for C#, Unity, and XBox One now available
Successful games are a result of an engaging experience that draws users in. Whether that’s by gameplay, artistry, or storytelling, game creators don’t want crashes or exceptions to interfere with their players enjoyment. But errors will often be there, lurking below the surface, and you can’t risk losing players when your game doesn’t behave as expected. To support a wider swath of game developers, Backtrace now offers support for the Unity game engine with our C# reporting library, and can also debug C++ crash reports from the XBox platform. Let’s talk in more details about what this means for developers as they look to provide the best experience for their gamers.
C# Exception and Crash Reports for Unity Games
UPDATE! Unity Developers should check out the Backtrace’s Integration Guide for Unity Games
Developers who build games for the Unity engine code in the C# language. Exceptions are a fact of life while programming in C#. Luckily, the language makes it straightforward for developers to handle exceptions using try-catch statements, and an Application.ThreadException event to hook into for unhandled exceptions. Integrating with Backtrace can ensure that every exception, and more importantly, critical crashes, are cataloged and managed in a central repository, giving developers broad powers to aggregate, analyze, and automate the debugging process.
If you are a C# developer, you can get started by installing the Backtrace C# Reporting Library via NuGet. You can then make use of a BacktraceReport class which represents a single error report. The report can contain information about the Exception, custom metadata you wish to send, and any attachments, such as log files or a minidump file. Find out more by checking out the Backtrace C# Reporting Library on Github
Crash Reporting Xbox One
UPDATE! Backtrace has a middleware license agreement with Microsoft and can process dump file from Xbox. Read more details in our documentation.
Most studios that build games for Xbox One typically do so using an in-house proprietary engine, Unreal Engine 4, or Unity. C++ and C# are predominant languages, and these games will usually run both on Xbox One Console and Windows PCs, amongst other consoles or platforms. When these games crash, getting to root cause can be a herculean effort. Collecting the dump files, locating the appropriate debug symbol files, and alerting the appropriate teams all take time. Meanwhile, your players are having a subpar experience and reacting negatively on the forums and chat.
Xbox One developers can now improve their mean time to resolution (MTTR) with Backtrace. Developers submit their crash dumps to Backtrace via our HTTP Submission of dump files. Debug symbols and executables can also be provided, or dynamically loaded from your private symbol servers, which ensures the most accurate callstack rendering and deduplication. A single system can now be used to capture and analyze crash reports from your game running on Xbox One, Windows PC, and other runtimes. That would be near impossible without a tool like Backtrace. If you are an Xbox One developer and would like to talk to us more about how we can help you monitor your games and track down the most difficult to diagnose crashes, contact us!
Make your Error Data Actionable
Once cataloged in Backtrace, your debug data provides you with new ways to minimize time to detection and time to resolution of critical issues.
Aggregate: Use the Query Builder tool to flexibly group and visualize crash and error data. Query Builder allows you to prioritize crashes based on factors that are most important to you, such as user, game version, graphic drivers, screen resolutions, gameplay time, and more. Discover patterns in your crashes that might not otherwise be obvious using search operators like contains, not-contains, or regular expressions, on callstacks or other metadata provided in the crash report. Find a crash happening early in the gameplay for many first time users? That’s a priority.
Analyze: Deeply analyze the crash report from the convenience of your web browser. The Web Debugger allows you to view information about all running threads at the time of the crash, including each threads callstack, the source path, function name, and line number for each frame, register values, and system or custom metadata that has been applied to the crash report. View and download any attachments, such as log, configuration, or image files, and even download the original dump file for analysis in the tool of your choice, such as Visual Studio or GDB.
Automate: Backtrace also helps you automate the triage and prioritization of errors, with integrations into the tools and systems you use. Instead of spending some amount of time each week looking through last week’s crashes, automatically file JIRA tickets, send Slack messages, and review emailed reports to take action through the tools you already use. This enables you to minimize the time it takes to engage the right team members to work on a solution.
Implementing a comprehensive crash reporting solution like Backtrace pays dividends for the end developers as well as the game studios. Developers gain a faster time to detection and resolution of crashes and exceptions, and the organization achieves higher customer retention rates and lower customer refunds. That has been the experience of Backtrace’s Unreal Engine 4 users, which you can learn more about in our case study on UE4 development studio Fun Bits. Xbox and Unity game developers can expect no less.