Description
Changelog
Reviews (1)
SpacetimeDB Client SDK for Godot (GDScript)
A pure-GDScript client for SpacetimeDB. Talk to a SpacetimeDB module from standard Godot 4.6+ — no .NET / Mono build required — and export to web via the Compatibility renderer.
Features
- Typed bindings, generated from your schema. Point the codegen at your module and get typed tables, rows, reducer and procedure wrappers.
- BSATN v3 over WebSocket. The current SpacetimeDB wire protocol, including v3 message batching. GZIP and Brotli compression.
- Local database cache. Primary-key and PK-less tables, unique-index O(1) lookups, btree multimap and sorted range queries (
filter_range/filter_gte/filter_lt), typed per-field finders, insert/update/delete ro - Subscriptions. Subscribe with SQL queries; rows stream intgnals. Await helpers, server-error propagation,
subscribe_all_tables(). - Reducers and procedures with structured outcomes. OK / OK_EMPTY / ERROR / INTERNAL_ERROR / TIMEOUT / DISCONNECTED, plus typed
decode()of return values. - Auto-reconnect. Exponential backoff with jitter; saved subconnect, in-flight handles invalidated cleanly.
- Frame-budgeted apply. Large bursts drain across frames instead of stalling one. BSATN parsing runs on a background thread by default.
- Fluent query builder.
SpacetimeDBQuery.table("user").where("online", true) - SpacetimeAuth OIDC token exchange. Trade a provider creden SpacetimeDB token; feed it straight to the connection.
- Token persistence + auto-rejoin. Reconnect with the same identity.
- Request latency stats, bucketed per request category.
Compatibility
- Godot 4.6+ — the editor plugin uses
EditorDock, added in4.7-stableand4.8.dev. - SpacetimeDB 2.2.0 – 2.7.0 — schema v10, BSATN protocol v3.
- For servers below 2.2.0, use an SDK
1.xrelease.
Getting started
See the README.md and EXAMPLE.md in the source repository for setup, codegen, and a complete Blackholio example client.
Changelog for version 2.6.0
No changelog provided for this version.