Skip to content

getsentry/sentry-unreal

Repository files navigation


Sentry SDK for Unreal Engine

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.

Downloads

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.

Supported Platforms and Unreal Engine version

The SDK currently supports and is tested on the following platforms:

  • Windows
  • macOS
  • Linux
  • Android
  • iOS

The SDK compiles with three latest engine versions.

Known Limitations

  • 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 current crashpad 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 the Crashpad dependencies. This list may vary depending on your Linux distro. See the Crashpad documentation for more details.

Development

Please see the contribution guide.

Resources

  • Documentation
  • Discussions
  • Discord Chat
  • Stack Overflow
  • Twitter Follow