---
title: "Options"
description: "Learn more about how the Sentry Unreal SDK can be configured via options. These are being passed to the init function and therefore set when the SDK is first initialized."
url: https://docs.sentry.io/platforms/unreal/configuration/options/
---

# Options for Unreal Engine

In order to provide native crash support, the Sentry SDK for Unreal Engine includes platform-specific SDKs, such as [Android](https://docs.sentry.io/platforms/android.md), [Apple](https://docs.sentry.io/platforms/apple.md), and [Native](https://docs.sentry.io/platforms/native.md). Those SDKs share the options with which they get initialized.

The UE layer self-initializes through the use of the custom [UEngineSubsystem](https://docs.unrealengine.com/5.3/en-US/API/Runtime/Engine/Subsystems/UEngineSubsystem/).

Different options won't always be compatible with all platforms. Be sure to read the UE editor notices specifying which platforms the specific option works with.

## [Available Options](https://docs.sentry.io/platforms/unreal/configuration/options.md#available-options)



## [Core](https://docs.sentry.io/platforms/unreal/configuration/options.md#core)

Options that can be read from an environment variable (`SENTRY_DSN`, `SENTRY_ENVIRONMENT`, `SENTRY_RELEASE`) are read automatically.

### [Dsn](https://docs.sentry.io/platforms/unreal/configuration/options.md#Dsn)

| Type | `string` |
| ---- | -------- |

The DSN tells the SDK where to send the events. If this value is not provided, the SDK will try to read it from the `SENTRY_DSN` environment variable. If that variable also does not exist, the SDK will just not send any events.

In runtimes without a process environment (such as the browser) that fallback does not apply.

Learn more about [DSN utilization](https://docs.sentry.io/concepts/key-terms/dsn-explainer.md#dsn-utilization).

### [Debug](https://docs.sentry.io/platforms/unreal/configuration/options.md#Debug)

| Type    | `bool` |
| ------- | ------ |
| Default | `true` |

Turns debug mode on or off. If debug is enabled SDK will attempt to print out useful debugging information if something goes wrong with sending the event. This option is turned on by default. It's generally not recommended to turn it on in production, though turning `debug` mode on will not cause any safety concerns.

### [DebugLevel](https://docs.sentry.io/platforms/unreal/configuration/options.md#DebugLevel)

| Type    | `enum`  |
| ------- | ------- |
| Default | `Debug` |

The minimum level of SDK diagnostic messages to print when `Debug` is enabled. Possible values are `Debug`, `Info`, `Warning`, `Error` and `Fatal`.

### [Release](https://docs.sentry.io/platforms/unreal/configuration/options.md#Release)

| Type | `string` |
| ---- | -------- |

Sets the release. Some SDKs will try to automatically configure a release out of the box but it's a better idea to manually set it to guarantee that the release is in sync with your deploy integrations or source map uploads. Release names are strings, but some formats are detected by Sentry and might be rendered differently. Learn more about how to send release data so Sentry can tell you about regressions between releases and identify the potential source in [the releases documentation](https://docs.sentry.io/product/releases.md) or the [sandbox](https://sandbox.sentry.io/?scenario=releases\&source=docs).

By default the SDK will try to read this value from the `SENTRY_RELEASE` environment variable if it's not set explicitly in the plugin settings. Otherwise, the release name is automatically derived from the current project name and version to match the format `<ProjectName>@<Version>`.

### [Environment](https://docs.sentry.io/platforms/unreal/configuration/options.md#Environment)

| Type | `string` |
| ---- | -------- |

Sets the environment. This string is freeform and not set by default. A release can be associated with more than one environment to separate them in the UI (think `staging` vs `prod` or similar).

By default the SDK will try to read this value from the `SENTRY_ENVIRONMENT` environment variable if it's not set explicitly in the plugin settings. Otherwise, the default environment is the current application's build configuration, i.e. `Editor` or `Development`.

### [Dist](https://docs.sentry.io/platforms/unreal/configuration/options.md#Dist)

| Type | `string` |
| ---- | -------- |

Sets the distribution of the application. Distributions are used to disambiguate build or deployment variants of the same release of an application. For example, the dist can be the build number of an Xcode build or the version code of an Android build. The dist has a max length of 64 characters.

### [SampleRate](https://docs.sentry.io/platforms/unreal/configuration/options.md#SampleRate)

| Type    | `float` |
| ------- | ------- |
| Default | `1.0`   |

Configures the sample rate for error events, in the range of `0.0` to `1.0`. The default is `1.0`, which means that 100% of error events will be sent. If set to `0.1`, only 10% of error events will be sent. Events are picked randomly.

### [EditorDsn](https://docs.sentry.io/platforms/unreal/configuration/options.md#EditorDsn)

| Type | `string` |
| ---- | -------- |

The DSN used when the SDK runs in the editor. Use it to send events from the editor to a different Sentry project than your packaged game. If it's empty, the editor uses `Dsn`.

### [EnableBuildConfigurations](https://docs.sentry.io/platforms/unreal/configuration/options.md#EnableBuildConfigurations)

| Type | `struct` |
| ---- | -------- |

Controls for which build configurations the SDK initializes. This is a struct containing a boolean field for each configuration: `bEnableDebug`, `bEnableDebugGame`, `bEnableDevelopment`, `bEnableTest`, and `bEnableShipping`.

These fields also control for which builds debug symbols are uploaded. See [Debug Symbols](https://docs.sentry.io/platforms/unreal/configuration/debug-symbols.md).

### [EnableBuildTargets](https://docs.sentry.io/platforms/unreal/configuration/options.md#EnableBuildTargets)

| Type | `struct` |
| ---- | -------- |

Controls for which build target types the SDK initializes. This is a struct containing a boolean field for each target type: `bEnableGame`, `bEnableClient`, `bEnableServer`, `bEnableEditor`, and `bEnableProgram`.

These fields also control for which builds debug symbols are uploaded. See [Debug Symbols](https://docs.sentry.io/platforms/unreal/configuration/debug-symbols.md).

### [EnableForPromotedBuildsOnly](https://docs.sentry.io/platforms/unreal/configuration/options.md#EnableForPromotedBuildsOnly)

| Type    | `bool`  |
| ------- | ------- |
| Default | `false` |

When enabled, the SDK initializes only in promoted builds of the engine (`FApp::GetEngineIsPromotedBuild()`).

## [Crash Handling](https://docs.sentry.io/platforms/unreal/configuration/options.md#crash-handling)

### [UseNativeBackend](https://docs.sentry.io/platforms/unreal/configuration/options.md#UseNativeBackend)

| Type    | `bool`  |
| ------- | ------- |
| Default | `false` |

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](https://docs.sentry.io/platforms/unreal/configuration/native-backend.md) for details and additional configuration options.

This feature is experimental and under active development. Supported on Windows, Linux, and macOS.

### [CrashpadWaitForUpload](https://docs.sentry.io/platforms/unreal/configuration/options.md#CrashpadWaitForUpload)

| Type    | `bool`  |
| ------- | ------- |
| Default | `false` |

When enabled, application shutdown is delayed until the upload of the crash report is complete. This is useful for deployment in `Docker` environment (Linux and Windows containers) where the life cycle of all processes is bound by the root process (typically the application being monitored).

This option is turned off by default.

This feature is supported only for Crashpad backend on Windows and Linux. This option has no effect when `UseNativeBackend` is enabled.

### [AndroidCrashBackend](https://docs.sentry.io/platforms/unreal/configuration/options.md#AndroidCrashBackend)

| Type    | `enum`                   |
| ------- | ------------------------ |
| Default | `TombstoneMergedWithNdk` |

Selects how native crashes are captured on Android:

* `NdkSignalHandler` - only the sentry-native NDK signal handler
* `TombstoneOnly` - only Android tombstones
* `TombstoneMergedWithNdk` - the NDK signal handler, with additional context from tombstones merged in (recommended)

## [Enriching Events](https://docs.sentry.io/platforms/unreal/configuration/options.md#enriching-events)

### [AttachStacktrace](https://docs.sentry.io/platforms/unreal/configuration/options.md#AttachStacktrace)

| Type    | `bool` |
| ------- | ------ |
| Default | `true` |

When enabled, stack traces are automatically attached to all messages logged. Stack traces are always attached to exceptions; however, when this option is set, stack traces are also sent with messages. This option, for instance, means that stack traces appear next to all log messages.

This option is turned on by default.

Grouping in Sentry is different for events with stack traces and without. As a result, you will get new groups as you enable or disable this flag for certain events.

On Android, only crash events contain the full callstack. Non-fatal events captured manually won't include the native C++ portion of the stack trace.

### [MaxBreadcrumbs](https://docs.sentry.io/platforms/unreal/configuration/options.md#MaxBreadcrumbs)

| Type    | `int` |
| ------- | ----- |
| Default | `100` |

This variable controls the total amount of breadcrumbs that should be captured. This defaults to `100`, but you can set this to any number. However, you should be aware that Sentry has a [maximum payload size](https://develop.sentry.dev/sdk/data-model/envelopes/#size-limits) and any events exceeding that payload size will be dropped.

### [AutomaticBreadcrumbs](https://docs.sentry.io/platforms/unreal/configuration/options.md#AutomaticBreadcrumbs)

| Type | `struct` |
| ---- | -------- |

Configures whether to automatically add breadcrumbs for specific in-game events. This is a struct containing boolean fields for different event types:

* `bOnMapLoadingStarted` - when map loading starts
* `bOnMapLoaded` - when map is loaded
* `bOnGameStateClassChanged` - when game state changes
* `bOnGameSessionIDChanged` - when game session ID changes
* `bOnUserActivityStringChanged` - when user activity string changes

### [AutomaticBreadcrumbsForLogs](https://docs.sentry.io/platforms/unreal/configuration/options.md#AutomaticBreadcrumbsForLogs)

| Type | `struct` |
| ---- | -------- |

Configures whether to automatically add breadcrumbs for log messages at specific verbosity levels. This is a struct containing boolean fields for different log levels:

* `bOnFatalLog` - defaults to `true`
* `bOnErrorLog` - defaults to `true`
* `bOnWarningLog` - defaults to `true`
* `bOnInfoLog` (Display/Log) - defaults to `false`
* `bOnDebugLog` (Verbose/VeryVerbose) - defaults to `false`

### [AttachGameLog](https://docs.sentry.io/platforms/unreal/configuration/options.md#AttachGameLog)

| Type    | `bool`  |
| ------- | ------- |
| Default | `false` |

When enabled, game log file is automatically attached to all events captured if the current build configuration allows logging.

This option is turned off by default.

The game log attached to crash events may be truncated. Crash reports can be sent to Sentry right away, while Unreal Engine is still writing the last bits of information to the log file.

### [AttachScreenshot](https://docs.sentry.io/platforms/unreal/configuration/options.md#AttachScreenshot)

| Type    | `bool`  |
| ------- | ------- |
| Default | `false` |

Takes a screenshot of the application when an error happens and includes it as an attachment. Learn more about enriching events with screenshots in our [Screenshots documentation](https://docs.sentry.io/platforms/unreal/enriching-events/screenshots.md).

Attaching screenshots to crash events is currently not supported on Android.

### [EnableOutOfProcessScreenshots](https://docs.sentry.io/platforms/unreal/configuration/options.md#EnableOutOfProcessScreenshots)

| Type    | `bool`  |
| ------- | ------- |
| Default | `false` |

When enabled, crash screenshots on Windows and Xbox are captured out-of-process by the native SDK using OS-level APIs instead of the default in-process Unreal Engine renderer. This is more reliable during crashes since it doesn't depend on the rendering pipeline being functional. Requires `AttachScreenshot` to be enabled.

Learn more in the [Screenshots documentation](https://docs.sentry.io/platforms/unreal/enriching-events/screenshots.md).

##### Experimental

This feature is currently experimental and only supported on Windows and Xbox development kits.

### [AttachGpuDump](https://docs.sentry.io/platforms/unreal/configuration/options.md#AttachGpuDump)

| Type    | `bool` |
| ------- | ------ |
| Default | `true` |

When enabled, [Nsight Aftermath](https://developer.nvidia.com/nsight-aftermath) mini-dump file is automatically attached to GPU crash events captured.

This option is turned on by default.

This feature is currently supported only for Nvidia GPUs.

On Windows, capturing GPU crashes requires [modifying the Unreal Engine source code](https://github.com/getsentry/sentry-unreal/issues/673).

### [EnableLargeAttachments](https://docs.sentry.io/platforms/unreal/configuration/options.md#EnableLargeAttachments)

| Type    | `bool`  |
| ------- | ------- |
| Default | `false` |

When enabled, attachments above an internal size threshold are uploaded out-of-band via a separate request before the event is sent, instead of being embedded in the envelope. This lets attachments exceed the inline envelope size limits. When disabled, oversized attachments are rejected by Sentry.

Learn more in the [Attachments documentation](https://docs.sentry.io/platforms/unreal/enriching-events/attachments.md#large-attachments).

Currently supported on Windows, Linux, Mac (with native backend) and consoles.

### [TagsPromotion](https://docs.sentry.io/platforms/unreal/configuration/options.md#TagsPromotion)

| Type | `struct` |
| ---- | -------- |

Configures which engine values are added to events as tags. This is a struct containing boolean fields:

* `bPromoteBuildConfiguration` - the build configuration
* `bPromoteTargetType` - the build target type
* `bPromoteEngineMode` - the engine mode
* `bPromoteIsGame` - whether the app runs as a game
* `bPromoteIsStandalone` - whether the app runs standalone
* `bPromoteIsUnattended` - whether the app runs unattended

### [InAppInclude](https://docs.sentry.io/platforms/unreal/configuration/options.md#InAppInclude)

| Type | `array` |
| ---- | ------- |

A list of string prefixes of module or package names that belong to the app. Frames that match are marked as in-app in stack traces.

This option is supported on Android, iOS, and macOS with the default Cocoa backend.

### [InAppExclude](https://docs.sentry.io/platforms/unreal/configuration/options.md#InAppExclude)

| Type | `array` |
| ---- | ------- |

A list of string prefixes of package names that don't belong to the app. Frames that match are not marked as in-app in stack traces.

This option is supported on Android only.

## [App Hangs](https://docs.sentry.io/platforms/unreal/configuration/options.md#app-hangs)

### [EnableHangTracking](https://docs.sentry.io/platforms/unreal/configuration/options.md#EnableHangTracking)

| Type    | `bool`  |
| ------- | ------- |
| Default | `false` |

Tracks application hangs (unresponsive game thread) and captures a hang event when the thread stays unresponsive for longer than the configured timeout. By default, detection uses Unreal Engine's built-in `FThreadHeartBeat` watcher; enable `UseNativeHangTracking` to use the sentry-native SDK's app-hang detector instead.

This option is turned off by default.

The default engine-based detection is available on Windows and Linux only, and only works in packaged builds. See [App Hangs and ANRs](https://docs.sentry.io/platforms/unreal/app-hangs.md) for setup details and prerequisites.

### [HangTimeoutDuration](https://docs.sentry.io/platforms/unreal/configuration/options.md#HangTimeoutDuration)

| Type    | `float` |
| ------- | ------- |
| Default | `5.0`   |

Duration in seconds that a thread must be unresponsive before a hang event is captured. The minimum value is `1.0` second. With the engine-based detector, if set below the engine's `StuckDuration` (default 1 second), it is automatically adjusted upward.

Only takes effect when `EnableHangTracking` is enabled.

### [UseNativeHangTracking](https://docs.sentry.io/platforms/unreal/configuration/options.md#UseNativeHangTracking)

| Type    | `bool`  |
| ------- | ------- |
| Default | `false` |

Detects hangs using the sentry-native SDK's built-in app-hang watchdog instead of Unreal Engine's `FThreadHeartBeat` watcher. It doesn't depend on the engine's heartbeat configuration.

Only takes effect when `EnableHangTracking` is enabled.

This feature is available on Windows, Linux, macOS, and Android. On macOS it requires the [native backend](https://docs.sentry.io/platforms/unreal/configuration/native-backend.md). On Android, it uses the NDK integration and monitors the game thread. See [App Hangs and ANRs](https://docs.sentry.io/platforms/unreal/app-hangs.md) for details.

### [EnableAppNotRespondingTracking](https://docs.sentry.io/platforms/unreal/configuration/options.md#EnableAppNotRespondingTracking)

| Type    | `bool` |
| ------- | ------ |
| Default | `true` |

Enables mobile app-not-responding detection. On iOS and macOS with the default Cocoa backend, this configures Cocoa app hang detection. On macOS with the native backend, use `EnableHangTracking` and `UseNativeHangTracking` instead. On Android, it configures JVM ANR detection.

This option changed from disabled to enabled by default in version `1.13.0`. Set it to `false` to keep the previous behavior.

### [AppNotRespondingTimeout](https://docs.sentry.io/platforms/unreal/configuration/options.md#AppNotRespondingTimeout)

| Type    | `float`         |
| ------- | --------------- |
| Default | `5.0` (seconds) |

Sets how long the main thread can remain unresponsive before the SDK captures an app-not-responding event. On Android 11 and later, the SDK reads ANRs from `ApplicationExitInfo` during a subsequent SDK initialization, so the operating system controls the threshold.

Only takes effect when `EnableAppNotRespondingTracking` is enabled.

## [Release Health](https://docs.sentry.io/platforms/unreal/configuration/options.md#release-health)

### [EnableAutoSessionTracking](https://docs.sentry.io/platforms/unreal/configuration/options.md#EnableAutoSessionTracking)

| Type    | `bool` |
| ------- | ------ |
| Default | `true` |

When enabled, the SDK automatically starts a session when it's initialized. Sessions are used to calculate crash-free rates in [Release Health](https://docs.sentry.io/product/releases/health.md).

### [SessionTimeout](https://docs.sentry.io/platforms/unreal/configuration/options.md#SessionTimeout)

| Type    | `int`                  |
| ------- | ---------------------- |
| Default | `30000` (milliseconds) |

Time interval in milliseconds after which the session ends if the app stays in the background.

This option is supported on Android, iOS, and macOS with the default Cocoa backend.

## [Tracing](https://docs.sentry.io/platforms/unreal/configuration/options.md#tracing)

### [TracesSampleRate](https://docs.sentry.io/platforms/unreal/configuration/options.md#TracesSampleRate)

| Type | `float` |
| ---- | ------- |

A number between `0` and `1`, controlling the percentage chance a given transaction will be sent to Sentry. (`0` represents 0% while `1` represents 100%.) Applies equally to all transactions created in the app. Either this or `TracesSampler` must be defined to enable tracing.

### [TracesSampler](https://docs.sentry.io/platforms/unreal/configuration/options.md#TracesSampler)

| Type | `function` |
| ---- | ---------- |

A function responsible for determining the percentage chance a given transaction will be sent to Sentry. It will automatically be passed information about the transaction and the context in which it's being created, and must return a number between `0` (0% chance of being sent) and `1` (100% chance of being sent). Can also be used for filtering transactions, by returning 0 for those that are unwanted. Either this or `TracesSampleRate` must be defined to enable tracing.

## [Logs](https://docs.sentry.io/platforms/unreal/configuration/options.md#logs)

Options for forwarding Unreal Engine log messages to Sentry are described in [Logs](https://docs.sentry.io/platforms/unreal/logs.md).

## [Metrics](https://docs.sentry.io/platforms/unreal/configuration/options.md#metrics)

Options for automatically collected performance metrics are described in [Metrics](https://docs.sentry.io/platforms/unreal/metrics.md).

## [Hooks](https://docs.sentry.io/platforms/unreal/configuration/options.md#hooks)

These options can be used to hook the SDK in various ways to customize the reporting of events.

The callbacks you set as hooks will be called on the thread where the event happened. If the event occurs on a non-game thread during garbage collection the callback will not be invoked.

If your callback handler class is part of another plugin, ensure that plugin is loaded before the Sentry SDK. Otherwise, the handler won't be found during Sentry settings deserialization at engine startup and won't be executed.

Avoid triggering the same hook from within its own handler (for example, adding a breadcrumb inside a `BeforeBreadcrumb` handler). The SDK guards against this by skipping reentrant invocations of the same hook type — the data will still be captured, but your custom handler won't be called for the reentrant invocation.

### [BeforeSend](https://docs.sentry.io/platforms/unreal/configuration/options.md#BeforeSend)

| Type | `function` |
| ---- | ---------- |

This function is called with an SDK-specific message or error event object, and can return a modified event object, or `null` to skip reporting the event. This can be used, for instance, for manual PII stripping before sending.

By the time `BeforeSend` is executed, all scope data has already been applied to the event. Further modification of the scope won't have any effect.

### [BeforeBreadcrumb](https://docs.sentry.io/platforms/unreal/configuration/options.md#BeforeBreadcrumb)

| Type | `function` |
| ---- | ---------- |

This function is called with an SDK-specific breadcrumb object before the breadcrumb is added to the scope. When nothing is returned from the function, the breadcrumb is dropped. To pass the breadcrumb through, return the first argument, which contains the breadcrumb object. The callback typically gets a second argument (called a "hint") which contains the original object from which the breadcrumb was created to further customize what the breadcrumb should look like.

Currently, breadcrumb hints are supported only on Android, macOS, and iOS.

## [Privacy & PII](https://docs.sentry.io/platforms/unreal/configuration/options.md#privacy--pii)

### [SendDefaultPii](https://docs.sentry.io/platforms/unreal/configuration/options.md#SendDefaultPii)

| Type    | `bool`  |
| ------- | ------- |
| Default | `false` |

If this flag is enabled, certain personally identifiable information (PII) is added by active integrations. By default, no such data is sent.

If you are using Sentry in your mobile app, read our [frequently asked questions about mobile data privacy](https://docs.sentry.io/security-legal-pii/security/mobile-privacy.md) to assist with Apple App Store and Google Play app privacy details.

This option is turned off by default.

If you enable this option, be sure to manually remove what you don't want to send using our features for managing [*Sensitive Data*](https://docs.sentry.io/platforms/unreal/data-management/sensitive-data.md).

### [bRequireUserConsent](https://docs.sentry.io/platforms/unreal/configuration/options.md#bRequireUserConsent)

| Type    | `bool`  |
| ------- | ------- |
| Default | `false` |

When enabled, the SDK doesn't send any data to Sentry until the user gives consent. Call `GiveUserConsent` or `RevokeUserConsent` on the Sentry subsystem to change it.

This option is supported on Windows, Linux, macOS with the native backend, and consoles.

### [bDefaultUserConsentGiven](https://docs.sentry.io/platforms/unreal/configuration/options.md#bDefaultUserConsentGiven)

| Type    | `bool` |
| ------- | ------ |
| Default | `true` |

The consent value used before `GiveUserConsent` or `RevokeUserConsent` is called. Only takes effect when `BRequireUserConsent` is enabled.

## [Transport](https://docs.sentry.io/platforms/unreal/configuration/options.md#transport)

### [ProxyUrl](https://docs.sentry.io/platforms/unreal/configuration/options.md#ProxyUrl)

| Type | `string` |
| ---- | -------- |

The URL of an HTTP proxy through which the SDK sends requests to Sentry, for example `http://proxy.local:3128`. In the plugin settings, enable the checkbox next to the field to use the proxy.

### [ShutdownTimeout](https://docs.sentry.io/platforms/unreal/configuration/options.md#ShutdownTimeout)

| Type    | `int`                 |
| ------- | --------------------- |
| Default | `5000` (milliseconds) |

Maximum time in milliseconds to wait on shutdown for queued envelopes, such as in-flight uploads, to be sent. Increase it if large crash reports don't reach Sentry before the app exits.

## [Offline Caching](https://docs.sentry.io/platforms/unreal/configuration/options.md#offline-caching)

### [EnableOfflineCaching](https://docs.sentry.io/platforms/unreal/configuration/options.md#EnableOfflineCaching)

| Type    | `bool`  |
| ------- | ------- |
| Default | `false` |

Enables persistent caching of envelopes to disk. When enabled, envelopes are stored in a cache directory and retained regardless of send success or failure. The cache is cleaned up on startup based on the limits configured below.

This feature is available on Windows, Linux, and Xbox only. On Android and Apple, caching is enabled by default.

### [CacheMaxItems](https://docs.sentry.io/platforms/unreal/configuration/options.md#CacheMaxItems)

| Type    | `int` |
| ------- | ----- |
| Default | `30`  |

Maximum number of items in the cache directory. On startup, oldest entries are removed until the count is within this limit. Set to `0` for no limit.

### [CacheMaxSize](https://docs.sentry.io/platforms/unreal/configuration/options.md#CacheMaxSize)

| Type    | `int` |
| ------- | ----- |
| Default | `0`   |

Maximum total size in bytes for the cache directory. On startup, oldest entries are removed until the size is within this limit. Set to `0` for no limit.

### [CacheMaxAge](https://docs.sentry.io/platforms/unreal/configuration/options.md#CacheMaxAge)

| Type    | `int` |
| ------- | ----- |
| Default | `0`   |

Maximum age in seconds for cache entries. On startup, entries exceeding this age are removed. Set to `0` for no limit.

### [DatabaseLocation](https://docs.sentry.io/platforms/unreal/configuration/options.md#DatabaseLocation)

| Type    | `enum`                 |
| ------- | ---------------------- |
| Default | `ProjectUserDirectory` |

Location where the SDK stores its internal files, such as crash reports before upload and the offline cache:

* `ProjectDirectory` - the root directory of the project (`FPaths::ProjectDir()`)
* `ProjectUserDirectory` - the directory for user-specific game files (`FPaths::ProjectUserDir()`)

This option is supported on Windows, Linux, macOS with the native backend, and consoles.

## [Session Replay](https://docs.sentry.io/platforms/unreal/configuration/options.md#session-replay)

Options for recording a video clip before a crash are described in [Session Replay](https://docs.sentry.io/platforms/unreal/session-replay.md).

## [Debug Symbols](https://docs.sentry.io/platforms/unreal/configuration/options.md#debug-symbols)

Options for uploading debug symbols when packaging the game are described in [Debug Symbols](https://docs.sentry.io/platforms/unreal/configuration/debug-symbols.md).

## [Crash Reporter](https://docs.sentry.io/platforms/unreal/configuration/options.md#crash-reporter)

### [EnableExternalCrashReporter](https://docs.sentry.io/platforms/unreal/configuration/options.md#EnableExternalCrashReporter)

| Type    | `bool`  |
| ------- | ------- |
| Default | `false` |

When enabled, a standalone crash reporter dialog is shown to the user after a crash, allowing them to review crash details and provide feedback before the report is submitted to Sentry.

See [Sentry Crash Reporter](https://docs.sentry.io/platforms/unreal/configuration/crash-reporter/sentry-crash-reporter.md) for setup details and customization options.

This feature is supported on Windows, Linux, and macOS with the [native backend](https://docs.sentry.io/platforms/unreal/configuration/native-backend.md).
