sdks/unreal/README.md
This folder contains the Unreal Engine plugin that allows games to talk to a SpacetimeDB server. The design mirrors the official Rust SDK and borrows ideas from the C# SDK so that projects can share a common workflow across languages.
The plugin exposes a high level API for establishing connections, invoking reducers and keeping a synchronized cache of database tables. Communication happens over WebSockets using the BSATN binary format. Most of the message and type headers are generated by the SpacetimeDB CLI so that Unreal games can send and receive the same structures as other SDKs.
crates/sdk-unreal/
├── DEVELOP.md # Notes on integrating the plugin into a project
├── SpacetimeDbSdk/ # The Unreal plugin sources
│ ├── Resources/ # Plugin icons and metadata
│ └── Source/
│ └── SpacetimeDbSdk/
│ ├── Public/ # Headers used by gameplay code
│ │ ├── BSATN/ # BSATN serializer
│ │ ├── Connection/ # Connection and subscription classes
│ │ ├── DBCache/ # Client side table cache utilities
│ │ ├── Tables/ # Base class for generated table wrappers
│ │ ├── Types/ # Generated message and type headers
│ │ └── tests/ # Unit test helpers for BSATN
│ ├── Private/ # Implementation files
│ └── SpacetimeDbSdk.Build.cs
See the README files in each subfolder for more details on the available classes and helpers.
SpacetimeDbSdk into your project's Plugins directory or use the AdditionalPluginDirectories option described in DEVELOP.md.Public/Types by running the SpacetimeDB CLI against your module schema.SpacetimeDbSdk in your game's build files and start a connection using UDbConnectionBuilder.With the connection established you can call reducers, subscribe to queries and drive gameplay logic using incoming table data.