Replies: 1 comment
-
This is freaking awesome. Love it! |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I had some time today and I decided to test using Godot and supabase-csharp together.
Setup: Godot v4.2.rc1.mono.official [ad72de508]
Rider 2023.2.3 w/ the official Rider Godot plugin.
macOS M2
I just opened up the project and added a few UI elements.
I then added the supabase dependency via the Rider NuGet manager.
Below is the C# script I attached to the signup button. I think that it would have been better to attach this script to the base node instead of using ../ to find the other nodes but that's pretty minor / side effect of me starting out with Godot.
...and that's pretty much it. It worked fine.
I'm extremely impressed. Getting async/await to work properly and post the data back to the UI in Unity requires a bunch of futzing with the threads (e.g. UniTask, polling in Update to update the UI, context mgmt, etc). This snippet just worked, no async workarounds required. I was very impressed that NuGet just worked. Godot is much, much lighter and smaller than Unity - it launches faster.
I exported the project as a macOS standalone dmg and it was much easier & faster than exporting from Unity. The resulting build was fairly large (~100mb dmg, ~300mb app), but it looks like the bulk of that 300mb was a single 147mb executable plus basically two complete copies of the rest of the app (Intel and Apple Silicon/arm).
I exported the project as iOS (which is currently very experimental in 4.2rc) and got some errors that I haven't worked through yet.
All in all, my two cents: if you are targeting desktop via Godot, everything looks fine. If you are targeting iOS, well, watch the Godot team for news on the Godot iOS C# stuff - I know they are working on this actively right now. In the meantime there is a GDScript implementation for Supabase that might work for iOS and Godot w/o C#, although it looks like this implementation hasn't been updated in a while.
The next thing to do would be to add in the listeners for debug, session and persistence implementations for Godot. To match the Unity template I suppose a default example of a Supabase manager and nice little place to drop settings.
In any event, I highly recommend checking out Godot - it's a lot of fun. It has a ton of features and nodes that require external packages in Unity. It took me a little while to sort out things like the Remote mode to tweak a running game but all in all it's very clean and modern feeling.
Beta Was this translation helpful? Give feedback.
All reactions