Did you know that Firebase contains a whole bunch of features that makes it
easier for you as a developer to build awesome apps?
Yeah, okay. That's probably not news.
But you might have noticed that, for a while, we've been talking about "apps"
instead of "games". And that's because our mobile libraries work great... as
long as you're writing your apps in Swift, Java, or Objective-C.
The problem is that most game developers are either building their own game
engines in C++ or using popular 3rd party game platforms like Cocos2D or Unity
to power their mobile games. And while we've had a C++ version of the Firebase
library available in beta for a while now, our Unity developers have been left
with a rather out-of-date Firebase Database plugin...
...until now! Thanks to a lot of hard work from a lot of our engineers and your
continued feedback, there's a brand new, officially supported, Unity SDK that
includes a whole lot more of the Firebase platform.
So what does this offering mean for you as a Unity developer? It means you can
now take advantage of many of the new Firebase features that we announced back
in May. Including...
Firebase Analytics: A free and unlimited analytics package to
record events that happen within your game. Find out where in your game players
are getting stuck, how your audience is growing over time, or where players from
each different country are spending their premium currency. All of this is easy
to record with Firebase Analytics, and its integration with BigQuery allows you
to run some pretty sophisticated data mining along the way.
The Firebase Real-time Database: This is a database where your
app's data magically syncs across all devices, usually within a few hundred
milliseconds. It's great for near-real-time features like in-game chat, syncing
your user's saved game across devices, or potentially powering a turn-based
board, card, or strategy game. That said, you probably don't want to use it to
drive your multiplayer shooter or MOBA -- I know with game developers, we need
to a little more explicit about what 'real-time' actually means. ;)
Dynamic Links. These are mobile deep links that you can use to
point players to any element of your game (if they have it installed), or take
them to the Play Store / App Store (if they don't). I think the best use case
here for game developers would be to use Dynamic Links to help power in-app
sharing. You can use Dynamic Links to share a replay of a level, or a link to
your player's awesome new character / fortress / user-generated content. And if
you don't feel like building our your own interface to do all of this,
Firebase Invites can create one for you, by packaging up a
Dynamic Link inside a nicely formatted email or SMS message.
Authentication: "Boy, I really like spending all my time
building authentication systems instead of working on my game," said no game
developer ever. With Firebase Auth, we make it easier for you to sign in your
users in from third party providers like Facebook, Google, and Github, or to
create a custom username and password system.
Cloud Messaging: Firebase Cloud Messaging allows you to send
notifications to both iOS and Android devices through a single endpoint. It also
lets you send notifications through the Firebase Notifications panel, which
means non-technical members of your team can send notifications without your
having to worry about writing any custom server code or curl calls.
Remote Config: This feature lets you update your game's values
from the cloud. Honestly, this is the feature I'm most excited about for games.
Anybody who's designed a tower defense game knows that one overpowered stat in a
single unit can throw off the balance of your entire game. With Remote Config
you can tweak those values from the cloud, and then use Firebase Analytics to
see if they give you the results you expect. You can even use Remote Config to
deliver custom values to specific groups of people, like your expert players.
You can use this library with Android and iOS devices, but the team has nicely
added in stub methods for Windows, OSX, and Linux, so you don't need to worry
about adding a bunch of conditional code if your game is also targeting
desktops. As a side note, the Real-time Database part of the SDK works directly
within the Unity editor, which makes testing and debugging a bit nicer.
We encourage you to give the Firebase SDK for Unity a try! It's available right
here, and it contains
a whole bunch of features that makes it easier for you as a developer to build
some pretty awesome… games.
Yeah, that felt good to write.