diff --git a/docs/docs/00200-core-concepts/00600-clients/00200-codegen.md b/docs/docs/00200-core-concepts/00600-clients/00200-codegen.md index 9d9e537d66d..91e651d2f24 100644 --- a/docs/docs/00200-core-concepts/00600-clients/00200-codegen.md +++ b/docs/docs/00200-core-concepts/00600-clients/00200-codegen.md @@ -45,7 +45,7 @@ Replace **PATH-TO-MODULE-DIRECTORY** with the path to your module's directory, w ```bash mkdir -p module_bindings -spacetime generate --lang cs --out-dir module_bindings --module-path PATH-TO-MODULE-DIRECTORY +spacetime generate --lang csharp --out-dir module_bindings --module-path PATH-TO-MODULE-DIRECTORY ``` This generates C# files in `module_bindings/`. The generated files are automatically included in your project. diff --git a/docs/docs/00200-core-concepts/00600-clients/00600-csharp-reference.md b/docs/docs/00200-core-concepts/00600-clients/00600-csharp-reference.md index 34ec9a8fa7b..6ba4012f3a1 100644 --- a/docs/docs/00200-core-concepts/00600-clients/00600-csharp-reference.md +++ b/docs/docs/00200-core-concepts/00600-clients/00600-csharp-reference.md @@ -73,7 +73,7 @@ Each SpacetimeDB client depends on some bindings specific to your module. Create ```bash mkdir -p module_bindings -spacetime generate --lang cs --out-dir module_bindings --module-path PATH-TO-MODULE-DIRECTORY +spacetime generate --lang csharp --out-dir module_bindings --module-path PATH-TO-MODULE-DIRECTORY ``` Replace `PATH-TO-MODULE-DIRECTORY` with the path to your SpacetimeDB module. diff --git a/docs/docs/00200-core-concepts/00600-clients/00800-unreal-reference.md b/docs/docs/00200-core-concepts/00600-clients/00800-unreal-reference.md index 906d62f3b0a..ae429f3bbdf 100644 --- a/docs/docs/00200-core-concepts/00600-clients/00800-unreal-reference.md +++ b/docs/docs/00200-core-concepts/00600-clients/00800-unreal-reference.md @@ -58,7 +58,7 @@ A connection to a remote database is represented by the `UDbConnection` class. T | Name | Description | | ---------------------------------------------------------------------- | ----------------------------------------------------------------------------- | | [Connect to a database](#connect-to-a-database) | Construct a UDbConnection instance. | -| [Advance the connection](#advance-the-connection-and-process-messages) | The connection processes messages automatically via WebSocket callbacks. | +| [Advance the connection](#advance-the-connection-and-process-messages) | Process queued messages by ticking the connection. | | [Access tables and reducers](#access-tables-and-reducers) | Access the client cache, request reducer invocations, and register callbacks. | ### Connect to a database @@ -186,7 +186,29 @@ Finalize configuration and open the connection. This creates a WebSocket connect ### Advance the connection and process messages -The Unreal SDK processes messages automatically via WebSocket callbacks and with UDbConnection which ultimately inherits from FTickableGameObject. No manual polling or advancement is required. Events are dispatched through the registered delegates. +The Unreal SDK queues incoming messages and dispatches callbacks when the connection is ticked. If the connection is never ticked, subscription updates and reducer callbacks will not be applied to your client cache. + +You can tick the connection manually from an actor's `Tick` method: + +```cpp +void AGameManager::Tick(float DeltaTime) +{ + Super::Tick(DeltaTime); + + if (Conn && Conn->IsActive()) + { + Conn->FrameTick(); + } +} +``` + +Or enable automatic ticking once after the connection is created: + +```cpp +Conn->SetAutoTicking(true); +``` + +Both approaches process queued messages on the game thread and dispatch events through the delegates registered on the connection. ### Access tables and reducers