Skip to content

Commit 26156a9

Browse files
tustanivskylizokmshanamatthews
authored
UE plugin documentation update (#8164)
Co-authored-by: Liza Mock <lizka920@gmail.com> Co-authored-by: Shana Matthews <shana.l.matthews@gmail.com>
1 parent eee9771 commit 26156a9

File tree

15 files changed

+70
-36
lines changed

15 files changed

+70
-36
lines changed

src/platform-includes/configuration/config-intro/unreal.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ The UE layer self-initializes through the use of the [UGameInstance](https://doc
44

55
<Note>
66

7-
Not all options can be used on all platforms.
7+
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.
88

99
</Note>
Loading

src/platform-includes/getting-started-install/unreal.mdx

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,30 @@
11
The Unreal Engine (UE) SDK is officially supported for the three latest UE versions. However, it is likely to be compatible with older engine versions as well depending on the specific features and functionality that you need.
22

3-
To build the SDK, download the latest sources from the [Releases page](https://github.com/getsentry/sentry-unreal/releases) and place it in the project's `Plugins` directory. On the next project launch, UE will prompt to build Sentry module.
3+
To install the SDK, download the most up-to-date sources from the [Releases page](https://github.com/getsentry/sentry-unreal/releases) and add them to your project's `Plugins` directory. On the next project launch, UE will prompt you to build the Sentry module.
44

55
<Note>
66

77
Currently, this method is available only for C++ UE projects. Blueprint projects can be converted to a C++ one by adding an empty class using the editor.
88

99
</Note>
1010

11-
After the successful build, in the editor navigate to the **Settings > Plugins > Code Plugins** menu and check whether the Sentry plugin is enabled:
11+
<Note>
12+
13+
The [Releases page](https://github.com/getsentry/sentry-unreal/releases) provides two plugin packages: `github` and `marketplace`. The key difference between the two is the crash capturing backend, which is used under the hood on Windows.
14+
15+
We recommend using the `github` version which uses `Crashpad`, an out-of-proc handler that sends the crash report right away. The `marketplace` version relies on `Breakpad`, an in-proc handler which requires the UE application or game to be relaunched in order to send the crash report to Sentry.
16+
17+
</Note>
18+
19+
Alternatively, the Sentry SDK can be downloaded via the [standard installation process](https://docs.unrealengine.com/5.2/en-US/working-with-plugins-in-unreal-engine/#installingpluginsfromtheunrealenginemarketplace) from its UE Marketplace page within the Epic Games Launcher.
20+
21+
<Note>
22+
23+
This method is recommended only for Blueprint UE projects. If you already have a C++ UE project or don't mind converting an existing Blueprint UE project to a C++ one, consider downloading the plugin from GitHub instead.
24+
25+
</Note>
26+
27+
To make sure the Sentry plugin has been enabled after installation has been completed, go to the editor and navigate to the **Settings > Plugins > Code Plugins** menu and check for the installation.
1228

1329
![Sentry window](unreal_plugins_window.png)
1430

Loading

src/platform-includes/getting-started-primer/unreal.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@ Unreal Engine SDK builds on top of other Sentry SDKs and extends them with Unrea
1212

1313
<Alert level="warning">
1414

15-
[Crash Reporter Client](/platforms/unreal/configuration/setup-crashreporter/) has to be configured in order to capture crashes on Windows automatically with UE 5.1 or older. Starting from UE 5.2, the provided API allows you to switch between default and third-party crash-handling solutions, so this step isn't required.
15+
To automatically capture crashes on Windows with UE 5.1 or older, you have to configure the [Crash Reporter Client](/platforms/unreal/configuration/setup-crashreporter/). Starting from UE 5.2, the provided API allows you to switch between default (CRC) and third-party (Sentry) crash-handling solutions, so the CRC configuration step isn't required. The two are mutually exclusive and can't be used simultaneously.
1616

1717
</Alert>

src/platforms/unreal/configuration/debug-symbols.mdx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ redirect_from:
66
description: "Learn how the Unreal Engine SDK handles debug symbols upload."
77
---
88

9-
Sentry requires [debug information files](/platforms/unreal/data-management/debug-files/) to symbolicate crashes. The Unreal Engine SDK provides an automated upload functionality for those symbol files that rely on the [sentry-cli](/product/cli/). This is done automatically, so running the `sentry-cli` manually isn't required. The symbol upload happens during the execution of `PostBuildSteps`, as specified in the `Sentry.uplugin` file. The `sentry-cli` executables for Windows, macOS, and Linux are included as part of the Unreal Engine SDK package.
9+
Sentry requires [debug information files](/platforms/unreal/data-management/debug-files/) to symbolicate crashes. The Unreal Engine SDK provides an automated upload functionality for those symbol files that rely on the [sentry-cli](/product/cli/). This is done automatically, so running the `sentry-cli` manually isn't required. The symbol upload happens during the execution of `PostBuildSteps`, as specified in the `Sentry.uplugin` file. The `sentry-cli` executables for Windows, macOS, and Linux are included as part of the Unreal Engine SDK package. They can also be downloaded manually via the settings menu if the plugin was installed from the UE Marketplace.
1010

1111
<Note>
1212

@@ -16,6 +16,12 @@ For Android, debug symbols upload is handled by [Sentry Android Gradle Plugin](/
1616

1717
The automated debug symbols upload is disabled by default and requires configuration. To configure it, navigate to **Project Settings > Plugins > Sentry**, then enter the [Auth Token](https://sentry.io/orgredirect/organizations/:orgslug/settings/auth-tokens/), Organization Slug, and Project Name. Note, that the Unreal Engine SDK automatically creates a `sentry.properties` file at the root of your project directory to store the configuration. This configuration file should **never** be made publicly available.
1818

19+
<Note>
20+
21+
You must configure which build configurations, target types, and platforms Sentry will upload debug symbols for in the "Misc" section of the plugin settings.
22+
23+
</Note>
24+
1925
![The Unreal Engine debug symbols upload configuration](unreal-debug-symbols.png)
2026

2127
### Manual Upload Using sentry-cli

src/platforms/unreal/configuration/setup-crashreporter.mdx

Lines changed: 43 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -7,60 +7,54 @@ redirect_from:
77
---
88

99
Installation of a Sentry SDK is not required in order to capture the crashes of your
10-
UE4 application or game. Sentry supports the _UE4 Crash Reporter_.
10+
Unreal Engine application or game, because Sentry supports the _UE Crash Reporter_.
1111

12-
To integrate your UE4 game or application with Sentry, the following steps are required:
12+
To integrate your UE game or application with Sentry, the following steps are required:
1313

14-
1. Include the _UE4 Crash Reporter_ to your game or application.
14+
1. Include the _UE Crash Reporter_ in your game or application.
1515
2. Include Debug information in the crash reports.
1616
3. Add the Unreal Engine Endpoint to the relevant configuration file.
17-
4. Upload your games symbols so Sentry can display function names and line numbers.
18-
5. Optionally enable Event Attachments for your Sentry project.
17+
4. Upload your games' symbols so Sentry can display function names and line numbers.
18+
5. Optionally, enable Event Attachments for your Sentry project.
1919

2020
Below we'll break down each step in detail.
2121

22-
## UE4 Crash reporter
22+
## UE Crash Reporter
2323

24-
The UE4 Crash Reporter is provided out of the box by Epic Games. It is able to collect relevant
24+
The UE Crash Reporter is provided out of the box by Epic Games. It is able to collect relevant
2525
information about the crash and send it to a service like Sentry to process.
2626

2727
Adding it to your game means that in case a crash happens, the following dialog is displayed
2828
to the user:
2929

30-
![The UE4 Crash Reporter](ue4-crash-reporter.png)
30+
![The UE Crash Reporter](ue-crash-reporter.png)
3131

32-
### Include the UE4 Crash Reporter
32+
### Using the UE Crash Reporter on Windows
33+
34+
The UE Crash Reporter works if the Sentry SDK is installed. Sentry SDK can help with configuring the UE Crash Reporter, uploading debug symbols, and enriching crash reports with custom data. **Starting from UE 5.2** users have to choose between the two available crash capturing mechanisms - the UE Crash Reporter or the `sentry-native` library that's integrated into the Sentry plugin. By default, the `sentry-native` library is used instead of the UE Crash Reporter. (See "Enable automatic crash capturing (Windows, UE 5.2+)" in the plugin settings.) The two solutions are mutually exclusive and can't be used simultaneously.
35+
36+
### Include the UE Crash Reporter
3337

3438
You can add the _Crash Reporter Client_ to your game in your _Project Settings_.
3539

3640
The simplest way is to search the option: `Crash Reporter`:
3741

38-
![Include UE4 Crash Reporter](ue4-include-crash-reporter.png)
42+
![Include UE Crash Reporter](ue-include-crash-reporter.png)
3943

4044
The option is located under _Project > Packaging_ menu, then select _show advanced_ followed by
4145
checking the box for: `Include Crash Reporter`.
4246

43-
## Debug information
47+
## Debug Information
4448

45-
To get the most out of Sentry, crash reports are required to include debug information.
49+
To get the most out of captured crash reports [debug symbols](#upload-debug-symbols) need to be uploaded to Sentry.
4650
In order for Sentry to be able to process the crash report and translate
4751
memory addresses to meaningful information like function names, module names
48-
and line numbers, the crash itself must include debug information and also, [symbols need
49-
to be uploaded to Sentry](#upload-debug-symbols).
50-
51-
### Include Debug Information
52-
53-
![Include Debug Files](ue4-include-debug-files.png)
54-
55-
The option is also located under _Project > Packaging_ menu, then select _show advanced_ followed by
56-
checking the box for: `Include Debug Files`.
52+
and line numbers, the crash itself must be associated with the corresponding debug information first.
5753

5854
## Configure the Crash Reporter Endpoint
5955

60-
Now that the _Crash Reporter_ and _Debug Files_ are included, UE4 needs to know where to send the
61-
crash. For that, we add the Sentry _Unreal Engine Endpoint_ from the _Client Keys_ settings page to game's configuration file. This will
62-
include which project within Sentry you want to see the crashes arriving in real time.
63-
That's accomplished by configuring the `CrashReportClient` in the _DefaultEngine.ini_ file. Changing the engine is necessary for this to work.
56+
Now that the _Crash Reporter_ and _Debug Files_ are included, UE needs to know where to send the
57+
crash. For that, we need to add the Sentry _Unreal Engine Endpoint_ from the _Client Keys_ settings page to the game's configuration file. This will include whichever project within Sentry you want to see real-time crashes for. That's accomplished by configuring the `CrashReportClient` in the _DefaultEngine.ini_ file. You'll need to change the engine to do this to work.
6458

6559
Edit the file:
6660

@@ -74,17 +68,17 @@ CrashReportClientVersion=1.0
7468
DataRouterUrl="___UNREAL_URL___"
7569
```
7670

77-
<Alert level="info" title="Note">
71+
<Note>
7872

7973
If a `[CrashReportClient]` section already exists, simply changing the value of `DataRouterUrl`
8074
is enough.
8175

82-
</Alert>
76+
</Note>
8377

8478
Alternatively, the endpoint can be added automatically to the _DefaultEngine.ini_ file
8579
by using the Sentry configuration window.
8680

87-
![The UE4 Crash Reporter settings](ue4-crash-reporter-settings.png)
81+
![The UE Crash Reporter settings](ue-crash-reporter-settings.png)
8882

8983
Navigate to the editor's menu **Project Settings > Plugins > Sentry**, set the Sentry _Unreal Engine Endpoint_ in the corresponding input field, and click the **Update global settings** button to apply changes. The default endpoint value can be restored by clicking the **Reset** button once the _Crash Reporter_ is no longer needed.
9084

@@ -134,6 +128,18 @@ void ConfigureCrashReporter()
134128
You need to call the `ConfigureCrashReporter` some time after your game
135129
starts. Any [event attribute](https://develop.sentry.dev/sdk/event-payloads/) can be set.
136130

131+
<Note>
132+
133+
You should configure Crash Reporter attributes before initializing the Sentry SDK. Otherwise, some information may get overwritten and lost.
134+
135+
</Note>
136+
137+
<Note>
138+
139+
The Sentry SDK provides an API which allows you to set Crash Reporter attributes as well.
140+
141+
</Note>
142+
137143
Depending on the version of Unreal Engine you are using, you may have to
138144
add JSON support to the build script (`MyProject.build.cs`):
139145

@@ -148,6 +154,12 @@ symbolicated stack traces, you need to upload _Debug Information Files_
148154
(sometimes also referred to as _Debug Symbols_ or just _Symbols_). We recommend
149155
uploading debug information during your build or release process.
150156

157+
<Note>
158+
159+
The Sentry SDK can handle uploading [debug symbols](/platforms/unreal/configuration/debug-symbols/) automatically at build time.
160+
161+
</Note>
162+
151163
For all libraries where you'd like to receive symbolication, **you need
152164
to provide debug information**. This includes dependencies and operating system
153165
libraries.
@@ -163,12 +175,12 @@ see [Debug Information Files](/workflow/debug-files/).
163175

164176
## Size Limits
165177

166-
Event ingestion imposes limits on the size of UE4 crash reports. These limits
178+
Event ingestion imposes size limits on UE crash reports. These limits
167179
are subject to future change and defined currently as:
168180

169181
- _20MB_ for a compressed request
170182
- _100MB_ for the full crash report after decompression
171183

172-
## Issues With The Crash Reporter
184+
## Issues With the Crash Reporter
173185

174-
For tips on troubleshooting the UE4 Crash Reporter, [check out this thread in Sentry's forum](https://forum.sentry.io/t/unreal-engine-crash-reporter-cant-get-it-to-work/7643) where community members have delved into potential solutions.
186+
Check out this community-generated [thread in Sentry's forum](https://forum.sentry.io/t/unreal-engine-crash-reporter-cant-get-it-to-work/7643) for UE Crash Reporter troubleshooting tips and solutions.
Loading
Loading
Loading

0 commit comments

Comments
 (0)