Getting UE4 Crash Reports with BugSplat

Disclaimer: This tutorial was not paid for by Bugsplat, nor did I get approval from them to make this tutorial. We have been using them for Industries of Titan since our Early Access Launch in April 2020.

When an Unreal Engine game crashes, the Unreal Engine Crash Reporter is shown to the player, and they can choose to send a report. But where does this report go? By default, it goes to Epic, but with a few changes to an .ini and your build process, you can see those crash reports too!

Unreal Engine Crash Reporter

The window that players see when an Unreal Engine 4 game crashes.

Why automatically collect crash reports?

Crashes are incredibly frustrating for players, and you cannot rely on them taking the time to join your Discord, copy and paste each crash, explain what they were doing, add log files etc.

Also you would need to include .pdb files with your distributed game for them to be able to show you the full stacktrace of the crash.

BugSplat

When we were preparing to release Industries of Titan on the Epic Games Store, we knew we wanted to get crash reports from players. There are a few different services out there that will collect the reports for you but ultimately we settled on BugSplat.

We’ve been using it for over a year and we’ve found it incredibly useful for finding and fixing crash bugs. One of the things we loved is that it works with a vanilla version of Unreal Engine.

This is the kind of information and screens that you can get through BugSplat:

  • For each crash, a full callstack.
  • The current value of (some) variables.
  • Logs
  • Included files: CrashContext.runtime-xml, CrashReportClient.ini, UE4Minidump.dmp

The full callstack of the crash.

The current value of variables.

Reports showing crash frequency over time.

Setup

Simply follow the steps on Bugsplat’s Unreal Setup page.

The steps boil down to:

  1. Replace a value in /Engine/Programs/CrashReportClient/Config/NoRedist/DefaultEngine.ini.
  2. Add a step to your automated build system to upload .exes, .dlls and .pdbs to BugSplat’s servers.
  3. That’s it!

There’s also an example Unreal Project to look through if you get stuck.

Testing your set-up

debug crash

Enter this command on the UE4 console to force your game to crash and test that your report is received after hitting Send on the crash reporter (thanks @SeanliMurmann and @torchedhill!)

Further Reading