Crashlytics

(iOS/Android) Crashlytics for
Unity
is now generally available (GA). Get the next evolution with BigQuery
exports, Jira integration, and more. To migrate from Fabric Crashlytics
for Unity to Firebase Crashlytics, follow the migration
guide.

Realtime Database

(iOS/Android) Fixed an issue where integrating the SDK greatly
increased the size of your app.

Fixed exception handling during listener events.

Authentication

(Desktop) Fixed a crash when attempting to call Game Center
authentication methods from the Unity editor.

FCM

(iOS/Android): Fixed an issue where Subscribe and Unsubscribe never
returned if the API was configured not to receive a registration token.

Authentication

(Android): Updated to using version 1.2.101 of the Android
Resolver. Prompt the user before the resolver runs for the
first time and allow the user to elect to disable from the prompt.

Crashlytics

Crashlytics for
Unity is now
available as a Beta release. Get the next evolution with BigQuery exports,
Jira integration, and more. To migrate from Fabric Crashlytics for Unity to
Firebase Crashlytics, follow the migration
guide.

Invites

Invites is deprecated. Please refer to
https://firebase.google.com/docs/invites for details.

Fixed an issue with version number handling in iOS and Android
Resolvers.

(iOS) Fixed an issue that caused apps to crash when exiting the app.

Fixed parsing of Unity 5.6 metadata.

Workaround for Unity 2018.3 and newer ignoring the "Any" platform.

The garbage collection race condition mentioned in version 5.4.2
still occurs in Firebase Auth, Database, Storage, and Instance ID. To work
around the issue until a fixed is released, keep a reference to the Firebase
object instance (for example, FirebaseAuth.DefaultInstance) to prevent
garbage collection.

Realtime Database

Fixed an issue where certain DataSnapshots were missing data on iOS
and Android.

Realtime Database

Dynamic Links

(Android) Improved module initialization so that the Unity SDK does
not attempt to use Android libraries unless the C# assembly is included.
For example, this allows users of the Analytics plugin to use the
firebase-messaging Android library without the Firebase Unity FCM
component.

(Editor) Fixed loading of the Firebase.Editor.dll component in
Unity 2018.3.0b2

(Editor) Updated the Play Services Resolver from version 1.2.88
to 1.2.91, see the
GitHub changelog
for details.

(Editor): Fixed the Android "Open in Console" button of the Firebase
window (accessible under the Window > Firebase menu option) to correctly
open the Firebase console in a web browser when the selected target platform
is not Android in Unity 5.6 and above.

Invites

(Android): Fixed an exception when the Android Minimum Version
code option is used on the Android.

Library names that previously did not mention Firebase now have
a "FirebaseCpp" prefix. For example, Auth.dll is now FirebaseCppAuth.dll.

(Android) Improved error handling when device is out of space.

Removed deprecated method FirebaseApp.SetLogLevel.

Authentication

Removed deprecated properties PhotoUri and RefreshToken.

Dynamic Links

Added MatchStrength to ReceivedDynamicLink, that describes
the strength of the match for the received link.

FCM

Added an optional initialization options struct. This can be
used to suppress the prompt on iOS that requests permission to receive
notifications at start up. Permission can be requested manually using the
function firebase::messaging::RequestPermission().

Invites

Added MatchStrength to InvitesReceivedEventArgs, that describes
the strength of the match for the received invite.

Storage

Updated Parse .NET 4.6 type forwarding DLLs to fix build issues
when using IL2CPP with the .NET 4.6 framework. The update works with
IL2CPP in Unity 2017.2 and beyond. IL2CPP builds still fail in Unity 2017.1
as the IL2CPP distribution bundled with Unity 2017.1 does not correctly
support type forwarding DLLs.

Root cert installation is now only performed in plugins that
use the .NET network stack (currently only Realtime Database). This
should resolve exceptions on initialization that reference
/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation.

Authentication

(Android) Fixed a bug causing Unity to hang due to FirebaseApp
initializing on the wrong thread, when building in -batchmode.

(Desktop) Fixed a bug when using iOS GoogleServicesInfo.plist config
settings on desktop, which prevented "play in editor" mode from loading
the correct project settings. (Only affected users who developed for iOS
and not Android, who were using Desktop).

Authentication

(Desktop) Added support for accessing user metadata.

Analytics

Added SetMinimumSessionDuration() and SetSessionTimeoutDuration().

Dynamic Links

(Android) Fixed an issue with links getting lost when calling
CheckAndFixDependenciesAsync().

Invites

(Android) Fixed an issue with invitations getting lost when calling
CheckAndFixDependenciesAsync().

FCM

Remote Config

Fixed a bug causing incorrect reporting of success or failure during
a Fetch().

Storage

Fixed a bug in Storage that was unescaping '/' characters in the URL
returned by StorageReference.GetDownloadUrlAsync(). This caused an
"Invalid HTTP method/URL pair" error when attempting to download using the
URL.

FCM

(iOS) Fixed iOS build with Cocoapod Project integration enabled.
This affected all iOS builds when using Unity 5.5 or below or when using
Unity Cloud Build.

(iOS) Fixed issue which prevented the use of Unity Cloud Build
with Unity 5.6 and above. Unity Cloud Build does not open generated
Xcode workspaces so we force Cocoapod Project integration in the
Unity Cloud Build environment.

(iOS) Fixed spurious errors on initialization of FirebaseApp.

Authentication

(Android) An exception is now thrown if you call GetCredential
without creating an Auth instance.

FCM

(Android) Fixed a bug resulting in FirebaseMessage objects not
having their MessageType field populated.

(iOS) Fixed a race condition if a message is received before
Firebase Cloud Messaging is initialized.

(iOS) Fixed a bug detecting whether the notification was opened
if the app was running in the background.

Remote Config

When listing keys, the list now includes keys with defaults
set, even if they were not present in the fetched config.

(Android) Fixed an unhandled exception that occurs if FirebaseApp
creation fails due to an out-of-date Google Play services version.

(Android) Fixed a crash in the Google Play services updater that
occurred when clicking outside of the dialog on Android 4.x devices.

(Android Editor) Fixed referenced Android dependencies in the Maven
plugin where the Project Object Model file (pom.xml) references a specific
version using a range expression.

(Android Editor) Fixed the resolution of Android dependencies when
the bundle ID is modified.

(iOS Editor) Improved compatibility with Cocoapods support in
Unity 5.6, required to use the GoogleVR iOS SDK.

Authentication

Fixed user being invalidated when linking credential fails.

Fixed an occasional crash when events are fired. This could
manifest in a crash when signing in.

Deprecated FirebaseUser.RefreshToken.

Realtime Database

Fixed an issue which caused the application to manually refresh
the auth token.

FCM

(Android) Resolved an issue which caused an app to receive an
empty message when a notification is received while the app is in the
background and user then taps on the app icon rather than the notification.

Invites

(iOS) Fixed an issue which resulted in the app delegate method
application:openURL:sourceApplication:annotation: not being called
when linking the invites library. This caused the Facebook SDK login flow
to fail.

(Android) Fixed Google Play Services checker on Android.
Previously when Google Play Services was out of date,
FirebaseApp.CheckDependencies() incorrectly returned
DependencyStatus.Available.

(Android) Added check for auto-resolution being enabled in the
Android Resolver editor plugin. If auto-resolution is disabled by the user
or by another plugin (e.g Google Play Games), the user is warned about the
configuration problem and given the opportunity to fix it.

(Android) Fixed single architecture builds when using Gradle.

(Android) Resolved an issue which caused the READ_PHONE_STATE
permission to be requested.

(Android) Proguard is not integrated into Android builds, but you can manually
integrate the Proguard files included with the Unity SDK into Android app
builds. These Proguard files are found in AAR files matching the following
pattern in each Unity package:
Firebase/m2repository/com/google/firebase/firebase-*-unity/*firebase-*.srcaar

(Android) Incompatible AARs are not resolved correctly when building for Android.
This can require manual intervention when using multiple plugins.
A workaround is documented on the
AdMob Unity plugin issue tracker.

This initial release of the Firebase Unity SDK includes support for
Analytics, Authentication, Realtime Database, Invites, Dynamic Links and
Remote Config. To get started, see
Adding Firebase to your Unity Project.

Proguard is not integrated into Android builds, but you can manually
integrate the Proguard files included with the Unity SDK into Android app
builds. These Proguard files are found in AAR files matching the following
pattern in each Unity package:
Firebase/m2repository/com/google/firebase/firebase-*-unity/*firebase-*.srcaar