Unreal Engine Plugin
Last updated
Last updated
You may choose to add BugSplat through the Unreal Marketplace or add the plugin to your Unreal project manually.
Install BugSplat from the Unreal Marketplace
Navigate to your project folder containing your [ProjectName].uproject
file.
Create a Plugins
folder if it does not already exist.
Create a BugSplat
folder in the Plugins
folder and copy the contents of the bugsplat-unreal repo into the BugSplat
folder.
In the Unreal Editor, ensure you can access the BugSplat plugin via Edit > Project Settings
and scroll to the BugSplat
section under Plugins
.
If you update the BugSplat plug-in or build a new version of Unreal Engine from source, you might need to regenerate BugSplat's build scripts. Interacting with any field in the BugSplat plugin will regenerate the build scripts.
BugSplat's Unreal plugin supports adding crash reporting to Windows, macOS, Linux, Android, and iOS games. With a few clicks, the BugSplat plugin can be configured to automatically upload symbol files so crash report stack traces display function names and line numbers.
To get started, generate a Client ID and Client Secret via the OAuth Integrations page.
Next, open the BugSplat plugin menu in the Unreal Editor via Edit > Project Settings
. Scroll to the BugSplat
section of Project Settings
and add values for Database
, Application
, Version
, Client ID
, and Client Secret
:
BugSplat leverages Unreal's CrashReportClient
to provide crash reporting for Windows, macOS, and Linux games. Be sure to update your project settings and enable Include Crash Reporter
and Include Debug Files in Shipping Builds
:
To configure CrashReportClient
to post to BugSplat, the DataRouterUrl
value needs to be added to DefaultEngine.ini
. The bugsplat-unreal
plugin automatically updates the value for DataRouterUrl
when the Update Engine DefaultEngine.ini
option is enabled. Please note the DataRouterUrl
value is global and is shared across all packaged builds created by the affected engine. To override the DataRouterUrl
value a package build uses, you may optionally use the Update Packaged Game INI
button under the Tools
section.
In order to get function names and line numbers in crash reports, you'll need to upload your game's .exe
, .dll
, and .pdb
files. To upload debug symbols for reach build, ensure that the Enable Automatic Symbol Uploads
option is selected. When selected, a script to execute will be added to the PostBuildSteps
field in BugSplat.uplugin
. The symbol upload script will run automatically when your game is built.
Before attempting to use the BugSplat plugin to capture crashes on Mobile, please ensure you've completed the iOS and Android quickstart guides.
In order to get function names and line numbers in your iOS crash reports, please make the following changes in the iOS
section of Project Settings
.
Generate dSYMs for code debugging and profiling
true
Generate dSYMs as a bundle for third-party crash tools
true
Support bitcode in shipping
false
To enable crash reporting, ensure the Enable iOS Crash Reporting
and Enable Android Crash Reporting
options are selected.
Note that sometimes iOS applications won't crash while the USB cable is connected. If this happens, disconnect the USB cable and re-run the application to trigger a crash.
BugSplat can provide instructions for implementing Unreal crash reporting on Xbox and PlayStation. Please email us at support@bugsplat.com for more info.
Once you've installed the plugin, add the following C++ snippet to your game to generate a sample crash.
Run your application and submit a crash report.
On Desktops, submit a crash report via the Unreal CrashReportClient dialog that appears at crash time. We have developed a handy guide on how to customize the Unreal CrashReportClient dialog available here.
On iOS, after a crash occurs, restart the game and tap the Send Report
option when prompted. On Android, crashes are submitted automatically at crash time.
Once you've submitted a crash report, navigate to the Crashes page. On the Crashes page, click the link in the ID column.
If everything is configured correctly, you should see something that resembles the following:
BugSplat ❤️s open source! If you feel that this package can be improved, please open an Issue. If you have an awesome new feature you'd like to implement, we'd love to merge your Pull Request. You can also send us an email, join us on Discord, or message us via the in-app chat on bugsplat.com.