This project is an SDK for Unreal Engine that wraps different Sentry's SDKs for both desktop, mobile and consoles. 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 FAB page via Epic Games launcher.
The SDK currently supports and is tested on the following platforms:
- Windows
- macOS
- Linux
- Android
- iOS
- PlayStation
- Xbox
- Nintendo Switch
The SDK compiles with three latest engine versions.
Blog posts:
-
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 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 or engine source code modifications must be applied.
-
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 UE 5.2 or newer game log attached to crashes captured with
sentry-nativeintegration instead of crash reporter could be truncated. This is caused by currentcrashpadbehavior 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. Non-fatal events that were captured manually won't include the native C++ portion of the stack trace.
-
Callbacks that are registered as hooks (such as
BeforeSendHandler) will not be invoked during garbage collection. -
It may be required to upgrade the C++ standard library (
libstdc++) on older Linux distributions (such as Ubuntu 18.04 and 20.04) to ensure crashpad handler proper functionality within the deployment environment. In addition, crashpad handler requireslibcurlto be available at runtime. This can be achieved with something like this:
sudo apt-get update
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get install -y libstdc++6 libcurl4
-
Plugin supports Linux arm64 platform for UE 5.0 and newer.
-
Fast-fail crash capturing is currently supported only in packaged game builds. When a fast-fail crash occurs the
HandleBeforeSendhook will not be invoked and any custom event pre-processing will be skipped.
Please see the contribution guide.