Skip to content

feat(unity): Automated symbol upload #4462

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Dec 7, 2021
Merged
Changes from all 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
14 changes: 8 additions & 6 deletions src/platforms/unity/native-support.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,21 @@ You can opt out of native support by unchecking `iOS Native Support` and `Androi

## Debug Symbols

Sentry requires [debug information files](/platforms/android/data-management/debug-files/) to symbolicate your crash logs. To upload these, the Unity SDK relies on the [sentry-cli](/product/cli/). We included the executables for Windows, macOS, and Linux inside the Sentry SDK package.

### Android
Sentry requires [debug information files](/platforms/android/data-management/debug-files/) to symbolicate your crash logs. The Unity SDK provides an automated upload functionality for those symbol files that rely on the [sentry-cli](/product/cli/). We've included the executables for Windows, macOS, and Linux inside the Unity SDK package.

The automated debug symbols upload is enabled by default but requires configuration. Go to **Tools > Sentry > Editor** to enter the [Auth Token](https://sentry.io/api/), Org Slug, and the Project Name. Note that the Unity SDK creates a file at `Assets/Plugins/Sentry/SentryCliOptions.asset` to store the configuration, that should not be made publicly available.

### iOS
### iOS - dSYM and Bitcode

Debug information files on the iOS platform are called dSYM, and the way to obtain them differs depending on whether `Enable Bitcode` is set to `true` in your Xcode project.

With Bitcode disabled, make sure the `Debug Information Format` is set to `DWARF with dSYM file`. When building the game, Xcode will then place the dSYM folders together with the build output and you can run the sentry-cli command there. By default the output path will look similar to: _~/Library/Developer/Xcode/DerivedData/BUILD_ID/Build/Products/BUILD_TYPE/_.
For Sentry to symbolicate your crash logs and with `bitcode` enabled, we need two types of files:
1. `dSYM` files available only **after** App Store Connect finishes processing the build
2. `BCSymbolMap` files that are created during the archiving process

The automated symbol upload will take care of the `BCSymbolMap` files by processing them during the archiving process. To provide the dSYM files to Sentry, you can either set up the [App Store Connect Integration](/platforms/apple/guides/ios/dsym/#bitcode-appstore) so Sentry can fetch them for you or download and then upload them [manually using sentry-cli](/platforms/apple/guides/ios/dsym/#bitcode-sentrycli).

If you have Bitcode enabled, please refer to our [iOS documentation](/platforms/apple/guides/ios/dsym/).
With `bitcode` disabled, the automated symbols upload will pick up the `dSYM` files at the end of the build process without further action required.

### Manual Upload Using sentry-cli

Expand Down