This project is an SDK for Unreal Engine that wraps different Sentry's SDKs for both desktop and mobile. Also, it has a stable support for the Unreal Engine crash reporter.
The SDK can be downloaded from the Releases page, which also lists the changelog of every version, or from the UE Marketplace page via Epic Games launcher.
If manual download from the Releases page is a preferred way for plugin integration using the package with the github
suffix in its name is recommended.
The SDK currently supports and is tested on the following platforms:
- Windows
- macOS
- Linux
- Android
- iOS
The SDK complies with three latest engine versions.
-
On all platforms captured crashes are uploaded to Sentry only after relaunching the crashed app since the in-process handler cannot do this within the same session. The only exceptions are Windows (if using the GitHub package) and Linux for which the out-of-process crashpad handler is used and crashes are uploaded immediately.
-
To automatically capture crashes in Windows game builds that were made using engine versions prior to UE 5.2, the Crash Reporter has to be configured first.
-
Using UGS binaries requires tagging of files to ensure the crashpad_handler.exe is present. For inclusion in build graph, you'd want something like this:
<Tag Files="#EditorBinaries$(EditorPlatform)" Filter="*.target" With="#TargetReceipts"/>
<TagReceipt Files="#TargetReceipts" RuntimeDependencies="true" With="#RuntimeDependencies"/>
<Tag Files="#RuntimeDependencies" Filter="sentry.dll;crashpad_handler.exe" With="#BinariesToArchive$(EditorPlatform)"/>
-
In order to fix errors during the Android debug symbols upload in UE 5.0 or newer (Windows) the default
Android File Server
plugin has to be disabled first. -
In UE 5.2 or newer game log attached to crashes captured with
sentry-native
integration instead of crash reporter could be truncated. This is caused by currentcrashpad
behavior which sends crashes to Sentry right away while UE is still about to write some bits of information to the log file. -
Only crash events captured on Android contain the full callstack. Events that were captured manually won't have the native C++ part there.
-
On Linux
sudo apt-get install libc++-dev libcurl-dev
is required to install theCrashpad
dependencies. This list may vary depending on your Linux distro. See the Crashpad documentation for more details.
Please see the contribution guide.