Join Harrison Ferrone for an in-depth discussion in this video Firebase 101, part of Unity: Working with Google Firebase.
- [Instructor] If you head over to firebase.google.com and select their products tab, you can see everything currently offered along with product descriptions, use cases, and great documentation. At it's most basic, Firebase is a cloud service platform that can be accessed through it's SDK. Functionality ranges from authentication, Realtime Database functionality, and analytics to cloud messaging storage, ads, and much more. The majority of Firebase modules are compatible with Unity, but don't be surprised if a few are only offered for iOS and Android at this point.
You can tell which modules are compatible for what platform by looking at the symbols underneath each product description. Because we're focusing on the Firebase Authentication and Realtime Database modules in this course, let's start there. Firebase authentication is built on OAuth 2.0, so it'll accept emails, password combinations, or an OAuth token from another authorized provider. Once it's verified the credentials, the API will return a user result, which we can access and display in our game.
Just a note, we're going to be using our own UI inside of Unity, because at the time of recording Firebase UI was only available for iOS, Android, and Web. The Realtime Database module gives us access to a cloud hosted no sequel database. This means that unlike relational databases, our data is stored in a tree structure, which can be accessed and queried extremely quickly. However, on the downside when we want relationships or lookup tables, we have to structure our data accordingly.
Now this can be frustrating at times, but we'll go over this in more detail when we're structuring our own game data later on. As a final note on the Realtime Database functionality, it does have security roles that can be configured in the console for greater privacy.
- Working with Firebase
- Adding signup and login functionality
- Building a player class
- Saving data
- Retrieving data
- Displaying data in the Unity GUI
- Making a reusable asset package for other Unity projects