A lightweight Unreal Engine C++ plugin for Supabase authentication (email/password login and signup) with Blueprint-friendly async callbacks.
LoginUserAsync(Email, Password, OnSuccess, OnFailure)RegisterUserAsync(Email, Password, OnSuccess, OnFailure)- Uses Unreal HTTP module + JSON serialization
- Configurable credentials via environment variables or
DefaultGame.ini - Error chaining with parsed Supabase response message
SupabaseConnector.h(Blueprint callable entry points)SupabaseConnector.cpp(implementation)SupabaseStructs.h(response structs)
Set:
SUPABASE_URL(e.g.https://yourproject.supabase.co/)SUPABASE_APIKEY(Supabase anon/public API key)
[Supabase]
SupabaseUrl=https://yourproject.supabase.co/
SupabaseApiKey=your_api_keyEnsure
SupabaseUrlends with/(helper function appends if missing).
- Place
USupabaseAuthLibraryfunctions in Blueprint graph. - Bind
FOnLoginResponseto success handler. - Bind
FOnAuthFailureto error handler. - Call
LoginUserAsyncorRegisterUserAsync.
FSupabaseLoginResponse.access_tokenFSupabaseLoginResponse.refresh_tokenFSupabaseLoginResponse.expires_inFSupabaseLoginResponse.token_typeFSupabaseLoginResponse.user.idFSupabaseLoginResponse.user.email
- Connection error / timeout ->
OnFailure("Supabase settings are not configured.")or timeout message - Non-2xx responses -> parsed Supabase error (
msg,error_description,error), otherwise raw response - JSON deserialization failures ->
OnFailure("Failed to parse ... JSON")
- Ensure you import
Httpmodule in.Build.cs:
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "Http", "Json", "JsonUtilities" });- Add
SupabaseConnector.cppand header files to your plugin/module source.
- Use
supabase-authpolicies and row-level security to protect data access.