A downloadable tool

I'm working on implementing a Firebase plugin for Godot. There are others that already exist, but they all require you to recompile all of Godot, and they only work on Android. This plugin is GDScript-based, so does not require a recompile (not to mention is quite a bit easier to use overall), and is cross-platform (currently, web export is unsupported, but I hope to add it in the not-too-distant future).

Features which are currently implemented:

Firebase Authentication

 - Standard email/password authentication

 - Anonymous authentication

Firebase Realtime Database

 - Multiple listener paths, and the API shape is similar to the standard Firebase SDKs

 - Filtering/querying

 - Requests as fast as possible for device it's running on


I'm planning to implement many, many more Firebase features in the future, including:

Firestore

Storage

Remote Config

Dynamic Links

And more, if they ever release more REST services. :)


The plugin is entirely open-source and updated very regularly. You can find it here:

https://github.com/WolfgangSenff/GodotFirebase/

I'm asking for a small donation so I can keep this project going, but it will remain open-source forever.



StatusIn development
CategoryTool
Rating
Rated 5.0 out of 5 stars
(1 total ratings)
AuthorBackAt50Ft
Made withGodot
Tagscloud, database, firebase, gamedev, Godot, plugin, tool, useful

Development log

Comments

Log in with itch.io to leave a comment.

I successfully got user registration working correctly with my Firebase project and your addon. However, I've been wracking my brain trying to figure out how to access the realtime database for CRUD operations. I have included the Godot SSL certs to the project, I've added test data to the realtime database, and I followed the Godot documentation for making an HTTP request with the HTTPRequest node, but nothing gets returns. Can we get a simple example on CRUD operations on the Firebase realtime database using your addon? Thank you so much!

(+1)

All of that already works without the need for making your own HTTPRequests. :) That's all handled under the hood. The project has an example built-in that should show how to use that stuff. Here's a link to where I listen for chats:

https://github.com/WolfgangSenff/GodotFirebase/blob/master/Demo/Chat.gd

Here's a link to where I submit the chats to Firebase:

https://github.com/WolfgangSenff/GodotFirebase/blob/master/Demo/ChatControl.gd#L26

All the CRUD operations are handled through the Firebase.Database global. You can get references there (that's usually what you'd do - it essentially gives back the position in the database you want to point at to look for updates or send data), and access to the Auth variable.

https://github.com/WolfgangSenff/GodotFirebase/blob/master/Demo/addons/GDFirebase/Firebase.gd

Ignore Firestore and Storage for now - those are still works in progress, although I found out at I/O this  year that Storage cannot be implemented because there's no REST interface. Annoying, but I guess it makes some sense, since it's primarily for sending/receiving large files.

As someone who is fairly new to all this, do I have to reauth with

Firebase.Auth.connect("login_succeeded", self, "on_login_success")

on the ready function in every script that utilizes the database? Or can I just authorize once and that's good for the entire session in the app?

Hi! I want to make extensive use of this for my own apps and games in Godot. Do you have a sample app or tutorial to get started?