From 213501ae4d8ce10c4d3e69fbe5aacf28eaa04a03 Mon Sep 17 00:00:00 2001 From: Ivan Tustanivskyi Date: Tue, 14 Apr 2026 09:34:14 +0300 Subject: [PATCH 1/2] docs(unreal): Native backend support on Mac --- .../platforms/unreal/configuration/app-hangs/index.mdx | 1 + .../unreal/configuration/native-backend/index.mdx | 10 +++++++--- docs/platforms/unreal/configuration/options.mdx | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/docs/platforms/unreal/configuration/app-hangs/index.mdx b/docs/platforms/unreal/configuration/app-hangs/index.mdx index 79b616889e74dd..ce9a14b625da1f 100644 --- a/docs/platforms/unreal/configuration/app-hangs/index.mdx +++ b/docs/platforms/unreal/configuration/app-hangs/index.mdx @@ -94,3 +94,4 @@ public: - **No early-startup detection**: Hangs that occur before `FEngineLoop::Tick()` starts (e.g. during `GameInstance::Init()`) are not detected, because threads must have sent at least one heartbeat before they can be monitored. - **Requires engine configuration**: The `HangDuration` setting in `[Core.System]` must be set to a value greater than `0`. Without it, the engine's heartbeat monitor thread doesn't run. - **One thread at a time**: If multiple threads become stuck simultaneously, only one hang is reported per episode. The engine's `FThreadHeartBeat` reports one stuck thread at a time, so additional stuck threads are only detected after the first one recovers. +- **Not supported on macOS with native backend**: Hang tracking is not available when using the native backend on macOS. diff --git a/docs/platforms/unreal/configuration/native-backend/index.mdx b/docs/platforms/unreal/configuration/native-backend/index.mdx index f84d213e7663ae..9f60d884e52c03 100644 --- a/docs/platforms/unreal/configuration/native-backend/index.mdx +++ b/docs/platforms/unreal/configuration/native-backend/index.mdx @@ -1,10 +1,10 @@ --- title: Native Backend sidebar_order: 12 -description: "Learn how to use the experimental native crash backend as an alternative to Crashpad on Windows and Linux." +description: "Learn how to use the experimental native crash backend as an alternative to the default backend on Windows, Linux, and macOS." --- -The Sentry Unreal SDK uses Crashpad as the default crash reporting backend on Windows and Linux. As an alternative, you can enable the experimental native backend, which uses a different crash handling architecture built into the sentry-native SDK. +The Sentry Unreal SDK uses Crashpad as the default crash reporting backend on Windows and Linux, and the sentry-cocoa SDK on macOS. As an alternative, you can enable the experimental native backend, which uses a different crash handling architecture built into the sentry-native SDK. @@ -14,7 +14,7 @@ The native backend is experimental and under active development. It may have inc -This feature is supported on Windows and Linux only. +This feature is supported on Windows, Linux, and macOS. @@ -48,3 +48,7 @@ Available modes: - `Minidump` - Write and send a minidump for server-side symbolication. No client-side stack unwinding is performed. - `NativeStackwalking` - Walk the stack client-side in the crash daemon and send a JSON event with stack traces. No minidump is generated, resulting in faster uploads and smaller payloads. - `NativeStackwalkingWithMinidump` (default) - Perform client-side stack unwinding and also attach a minidump for deep debugging when needed. + +### Limitations + +- **macOS App Sandbox**: The native backend uses POSIX IPC semaphores which are blocked by macOS App Sandbox. If your packaged build has the `com.apple.security.app-sandbox` entitlement enabled, you'll need to remove it by editing your project's entitlements file. diff --git a/docs/platforms/unreal/configuration/options.mdx b/docs/platforms/unreal/configuration/options.mdx index 0796839880bcca..25d38b9e42d7a6 100644 --- a/docs/platforms/unreal/configuration/options.mdx +++ b/docs/platforms/unreal/configuration/options.mdx @@ -169,7 +169,7 @@ On Windows, capturing GPU crashes requires [modifying the Unreal Engine source c -When enabled, the SDK uses the experimental native backend for crash reporting instead of the default Crashpad backend on Windows and Linux. This option requires a rebuild after changing. +When enabled, the SDK uses the experimental native backend for crash reporting instead of the default backend (Crashpad on Windows/Linux, sentry-cocoa on macOS). This option requires a rebuild after changing. See Native Backend for details and additional configuration options. From 2a568c456d2f8c2661e558feeb914e2d524306bf Mon Sep 17 00:00:00 2001 From: Ivan Tustanivskyi Date: Tue, 14 Apr 2026 17:31:44 +0300 Subject: [PATCH 2/2] Remove sandbox limitation --- docs/platforms/unreal/configuration/native-backend/index.mdx | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docs/platforms/unreal/configuration/native-backend/index.mdx b/docs/platforms/unreal/configuration/native-backend/index.mdx index 9f60d884e52c03..7460e01ebe29f1 100644 --- a/docs/platforms/unreal/configuration/native-backend/index.mdx +++ b/docs/platforms/unreal/configuration/native-backend/index.mdx @@ -48,7 +48,3 @@ Available modes: - `Minidump` - Write and send a minidump for server-side symbolication. No client-side stack unwinding is performed. - `NativeStackwalking` - Walk the stack client-side in the crash daemon and send a JSON event with stack traces. No minidump is generated, resulting in faster uploads and smaller payloads. - `NativeStackwalkingWithMinidump` (default) - Perform client-side stack unwinding and also attach a minidump for deep debugging when needed. - -### Limitations - -- **macOS App Sandbox**: The native backend uses POSIX IPC semaphores which are blocked by macOS App Sandbox. If your packaged build has the `com.apple.security.app-sandbox` entitlement enabled, you'll need to remove it by editing your project's entitlements file.