用途:在 Unreal Engine 中实现 SpacetimeDB 客户端,包括生成 Unreal 绑定、Unreal 插件设置与数据库连接逻辑。
主要能力与用法: 生成 Unreal 绑定: spacetime generate --lang unrealcpp --uproject-dir path/to/Game.uproject --module-path spacetimedb --unreal-module-name Game 连接示例: UDbConnection* Conn = UDbConnection::Builder() ->WithUri(TEXT("ws://localhost:3000")) ->WithDatabaseName(TEXT("my-database")) ->OnConnect(OnConnectDelegate) ->OnConnectError(OnConnectErrorDelegate) ->OnDisconnect(OnDisconnectDelegate) ->Build();
运行时规则:Unreal SDK 通过 WebSocket 回调与 UDbConnection ticking 自动处理消息,无需手动轮询,除非项目已有此机制。用生成的 Conn->Db 表对象读取订阅缓存,用 Conn->Reducers 调用 reducer。启动事件重要时,应在订阅前绑定 OnInsert、OnDelete、OnUpdate 及 reducer 委托。SubscribeToAllTables() 适合示例,生产代码应订阅特定 SQL/查询集。使用本地项目生成的 Unreal 类与委托名,不要照抄示例 UUserTable 或 FUserType。除非项目已有布局,应保持插件配置、生成代码与游戏逻辑类分离。
限制:具体 Unreal SDK API 以 references/clients-unreal.md 为准;完整教程交由 spacetimedb-tutorials。