Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/platforms/unreal/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ The [Releases page](https://github.com/getsentry/sentry-unreal/releases) provide

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 reports to Sentry.

Learn more about the [differences between each package here](/unreal/installation-recommendations).

</Note>

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](https://www.unrealengine.com/marketplace/en-US/product/sentry-01) page within the Epic Games Launcher.
Expand Down
59 changes: 59 additions & 0 deletions docs/platforms/unreal/installation/installation-recommendations.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
title: Installation Recommendations
description: "Learn more about choosing the right installation for Unreal Engine."
sidebar_order: 8000
---

## Installation Recommendations: GitHub Releases or Fab

<Note>
While Unreal Engine uses "plugins", we will refer to the Sentry support we offer within Unreal Engine as the Sentry Unreal Engine SDK.
</Note>

There are three common ways to install an SDK to use with Unreal Engine:
1. Install from the [Epic Games Fab](https://www.fab.com/) ([formerly known as the marketplace](https://www.unrealengine.com/en-US/blog/fab-epics-new-unified-content-marketplace-launches-today))
2. Download a pre-built SDK that you install (e.g. from a [GitHub Releases page](https://github.com/getsentry/sentry-unreal/releases))
3. Clone and build the SDK yourself and install
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice. This will come in handy soon since we're working on improving our build so users can build our SDK using U reals build system.


Being [Fair Source](https://fair.io/), Sentry offers all three for you to be able to get the insights only Sentry can provide. However, each has it's own limitations.

### Overview of SDK Versions

| Feature | Fab | GitHub Releases | Build Yourself |
|----------------------------|---------------------|-----------------|----------------|
| Supported engine versions | 5.1 and newer | 4.27 and newer | 4.27 and newer |
| Supported UE project types | Blueprint and C++ | C++ only | C++ only |
| Backend (Windows) | Breakpad | Crashpad | Crashpad |
| `on_crash` hook (Windows) | Not supported | Supported | Supported |
| Sentry CLI | Manual download | Included | Included |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should say perhaps "Sentry CLI (automatic symbol upload)" or something? not sure just Sentry CLI here will suffice for folks who just landed in and are learning about this sdk.

perhaps a * next to the title and a clarification below to what this means. Do we create releases too? perhaps we use the CLI for other stuff also. @tustanivsky ?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I love the idea of adding * - thanks for the tip!

Currently we're using Sentry CLI solely for debug symbol upload


### Installing from Fab
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should put this below the GH heading. Perhaps before we describe either we have a general recommendation. like:

"We recommend the GitHub release. Main advantages are: Crash reports uploaded immediately (crashpad), automatic symbol upload and larger range of supported UE versions. If you have a Blueprint only project you'd need to convert it to C++"


Sentry SDK can be downloaded via the [standard installation process](https://dev.epicgames.com/documentation/en-us/unreal-engine/working-with-plugins-in-unreal-engine#installingpluginsfromtheunrealenginemarketplace) from its [Epic Games Fab page](https://www.fab.com/listings/eaa89d9d-8d39-450c-b75f-acee010890a2).

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.

### Installing from GitHub Releases

The [GitHub 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.

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 reports to Sentry.

### Build yourself
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@PlasmaDev5 these details would be updated with your solution to build using the UÉ build system.


To get started, we recommend cloning the [Unreal SDK repository](https://github.com/getsentry/sentry-unreal) and running the initialization script:

* `./scripts/init.sh` on macOS/Linux
* `./scripts/init-win.ps1` on Windows

<Note>
Initialization scripts require [GitHub CLI](https://cli.github.com/) to be installed.
</Note>

<Note>
If the initialization script fails due to errors on Windows, check your PowerShell version by printing the built-in variable `$PSVersionTable`. If the version is `5.x`, upgrading to a newer version of [PowerShell](https://github.com/powershell/powershell) may resolve these errors.
</Note>

This script links the checked out version of the plugin (the [plugin-dev](https://github.com/getsentry/sentry-unreal/tree/b67076ad5dc419d46b4be70a0bd6e64c2357a82d/plugin-dev) directory) to the [sample app](https://github.com/getsentry/sentry-unreal/tree/b67076ad5dc419d46b4be70a0bd6e64c2357a82d/sample) and downloads the latest builds of native SDKs from our GitHub CI.

After successful initialization, copy the contents of the `plugin-dev` directory to `<your_project_root>/Plugins/Sentry`. This will allow you to use Sentry in your Unreal Engine project.
Loading