iOS+ (Apple platforms)
For Apple platform apps using the Crashlytics Unity SDK 8.2.0+, the Firebase Unity Editor plugin automatically configures your Xcode project to upload symbols. Download the latest version.
Android
For Android apps, the Crashlytics Unity SDK 8.6.1+ automatically includes NDK crash reporting, which allows Crashlytics to automatically report Unity IL2CPP crashes on Android. However, to see symbolicated stack traces for native library crashes in the Crashlytics dashboard, you must upload symbol information at build time using the Firebase CLI.
Make sure that you're using the Crashlytics Unity SDK v8.6.1 or later. Download the latest version.
Set up your environment and project for symbol uploading:
Follow the instructions to install the Firebase CLI.
If you've already installed the CLI, make sure to update to its latest version.
(only for apps using Android API level 30+) Update your app’s
AndroidManifest.xml
template to disable Pointer Tagging:Check the box for Android Player Settings > Publishing Settings > Build > Custom Main Manifest.
Open the manifest template located at
Assets/Plugins/Android/AndroidManifest.xml
.(only for apps using an SDK version before 8.8.0) Add the following attribute to the application tag:
<application android:allowNativeHeapPointerTagging="false" ... />
Build your project and upload symbols.
Complete these steps each time that you create a release build or any build for which you want to see symbolicated stack traces in the Firebase console.
From the Build Settings dialog, do one of the following:
Export to an Android Studio project to build your project; or
Build your APK directly from the Unity Editor.
Before building, make sure the checkbox for Create symbols.zip is checked in the Build Settings dialog.
Once your build has finished, generate a Crashlytics-compatible symbol file and upload it to Firebase servers by running the following Firebase CLI command:
firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/SYMBOLS
FIREBASE_APP_ID: Your Firebase Android App ID (not your package name)
Example Firebase Android App ID:1:567383003300:android:17104a2ced0c9b9b
Here are two ways to find your Firebase App ID:
In your
google-services.json
file, your App ID is themobilesdk_app_id
value; orIn the Firebase console, go to your Project settings. Scroll down to the Your apps card, then click on the desired Firebase App to find its App ID.
PATH/TO/SYMBOLS: The path to the symbol file generated by the CLI
Exported to an Android Studio project — PATH/TO/SYMBOLS is the
unityLibrary/symbols
directory, which is created in the exported project root after you build the app via Gradle or Android Studio.Built the APK directly from within Unity — PATH/TO/SYMBOLS is the path of the zipped symbol file generated in the project root directory when your build finished (for example:
).myproject/myapp-1.0-v100.symbols.zip
View advanced options for using the Firebase CLI command for symbol file generation and upload
Flag Description --generator=csym
Uses the legacy cSYM symbol file generator instead of the default Breakpad generator
Not recommended for use. We recommend using the default Breakpad symbol file generator.
--generator=breakpad
Uses the Breakpad symbol file generator
Note that the default for symbol file generation is Breakpad. Only use this flag if you've added
in your build configuration and you want to override it to use Breakpad instead.symbolGenerator { csym() }
--dry-run
Generates the symbol files but does not upload them
This flag is useful if you want to inspect the content of the files that are sent.
--debug
Provides additional debugging information