Typed C# services for Auth, Postgres, Realtime, Storage and Edge Functions; 38 backend SQL packs with RLS, editor tools, UI kits, offline caching and a self-hosted live-ops console.
The finished version of Supabase for Unity.
Raw Supabase bindings are free, and they are a fine start. The work that follows is the part you pay for: sessions that survive scene loads, RLS for an economy ledger, retries and pagination, AOT-safe serialization, dashboards for the season you are running. This toolkit is that work, finished and documented.
What you get, how long it takes, and what you need.
About 10 minutes from import to a working leaderboard, following the package quick start: connect your project, install its SQL pack and run the sample.
Unity 2022.3 LTS or newer. Requires TextMeshPro, a Supabase project URL and anon/publishable key. Install the matching SQL pack for each backend feature; the editor secret key is optional.
Backend pieces
that fit Unity.
Auth, typed database, realtime and storage, plus 38 backend packs for game systems. One runtime SDK with the editor windows that install, generate and inspect them.
Authentication
Email and password, magic link, phone OTP, anonymous sign-in that upgrades to a permanent account, OAuth PKCE deep links and MFA.
Typed database
A lambda-style query builder with generated models, full-text search and auto-paged reads. No SQL strings in gameplay code.
Realtime
Postgres changes, broadcast and presence with heartbeat monitoring, bounded reconnect backoff and automatic rejoin.
Storage
Uploads, resumable TUS with offset recovery, image transforms, signed URLs and Texture2D loaders that survive expired sessions.
Connect.Build.Operate.
From empty project to playable backend in three moves. Prototype against open policies, then harden the same system for production.
Connect your project
Store the anon key in runtime settings, keep privileged keys in editor-local storage, and verify the connection from the setup window.
SupabaseClient.InitializeFromResources();
Build gameplay systems
Generate models from your schema, query with typed lambdas, and install backend packs for saves, economy, guilds and more.
.From<Player>("players")
.Where(p => p.score > 1000)
.OrderByDescending(p => p.score)
Operate after launch
Tune flags, publish announcements and support players from the live-ops console — without patching a build.
if (flags.IsEnabled("double_xp"))
ApplyDoubleXp();
Your project,
your data.
Your Unity build talks directly to your Supabase project — Postgres, Auth, Realtime, Storage and Edge Functions. ShipIt never sees your credentials or your players' rows.
Leaderboards, cloud saves, wallets, trading, guilds, quests, battle pass, moderation and more — each with RLS policies and C# services.
Safe to re-run on existing projects without duplicating work.
Row Level Security ships with every pack, not as an afterthought.
Service-role keys never leave machine-local editor storage.
Reads keep working offline; mutations replay on reconnect.
Real numbers,
not promises.
v1.53.0 release suite · Unity 6000.3.11f1 and 2022.3.62f1
Backend packs
SQL + C# services includedAutomated tests passing
720 EditMode on both editors + 4 PlayMode at Unity 6.3Game-pattern guides
auth → experimentationAuth · Database · Realtime · Storage · Edge Functions · Queues · Cron · Search — included in one package
Works where
you build.
Unity 2022.3 LTS and Unity 6 across Mono, IL2CPP and WebGL. Render-pipeline agnostic, with TextMeshPro-ready samples you can restyle.
Connected,
never privileged.
The anon key ships in builds. Everything privileged stays in editor and server contexts — Postgres functions, Edge Functions and admin tooling.
Your game talks to your project. There is no ShipIt account, no ShipIt server and no separate backend deployment to trust.
Keys stay local
Service-role keys live in machine-local editor preferences, never in runtime assets.
Privileged config blocked
Configuration checks stop privileged keys from shipping in player builds.
Clients stay untrusted
Economy, scores and entitlements change through trusted functions, not client writes.
Policies by default
Every backend pack enables Row Level Security with explicit policies.
What it does not do
- It does not host your game backend for you.
- It does not bypass Supabase Row Level Security.
- It does not treat client-reported economy or scores as trusted.
- It does not send player data through ShipIt servers.
Readable C#.
No proxy SDK.
Call your Supabase project directly with async APIs, typed models, cancellation support and errors you can act on.
await SupabaseClient.Instance.Auth .SignInAnonymouslyAsync(captchaToken); var profile = await SupabaseClient.Instance.Database .From<PlayerProfile>("player_profiles") .Where(p => p.id == playerId) .MaybeSingleAsync(); var channel = SupabaseClient.Instance.Realtime .FromTable("player_profiles"); channel.OnUpdate<PlayerProfile>(Render); await channel.SubscribeAsync();
Before you connect your backend.
Do I need my own Supabase project?
Yes. The toolkit connects directly to your project; ShipIt does not proxy requests or host your player data.
Which key goes in the game?
The anon or publishable key is intended for client use, with Row Level Security protecting data. A secret or legacy service-role key is optional for editor tools and must never ship in a player build.
Do I need to install database tables myself?
Install the matching SQL pack for each feature you use. Packs create the schema and Row Level Security policies that the C# services expect.
Does this replace multiplayer netcode?
No. It handles backend systems such as accounts, saves, progression and live-ops. Use your chosen netcode package for authoritative match simulation and player movement.
Ready to ship
your backend?
Review the documentation, install the packs, and operate from day one. The listing is live on the Unity Asset Store, and updates are free for existing buyers.
shipit.unity@gmail.com · v1.53.0 · Unity 2022.3 LTS + Unity 6