Files
Jason Larabie 26e99fe5e5 Added the Unreal SDK work for codegen, testing, and the plugin (#3223)
# Description of Changes

Closes #3219 
This adds the Unreal SDK, the new Unreal test cases, updates the test
runner to handle Unreal, codegen updates for Unreal, and a QuickStart
Chat.

# API and ABI breaking changes

No breaking changes.

# Expected complexity level and risk

2 - This impacts the subcommand generate.rs to include unrealcpp and
crates/testing to expand for Unreal

# Testing

- [x] Run the new Unreal tests 
- [x] Run any previous automation testing - with all the changes to
generate/testing I'm uncertain if there is an impact
- [x] Review the new CLI generate documentation changes

---------

Co-authored-by: Phoebe Goldman <phoebe@goldman-tribe.org>
Co-authored-by: Zeke Foppa <196249+bfops@users.noreply.github.com>
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
Co-authored-by: John Detter <4099508+jdetter@users.noreply.github.com>
2025-09-19 22:52:53 +00:00
..

Quickstart Chat Module Version

This quickstart chat Client is built on from the C# Module Quickstart.
If you have started with the Rust Module Quickstart the reducer names will differ, send_message instead of SendMessage and set_name instead of SetName. /

How to Use the Quickstart Chat Example

  1. Follow the instructions in Develop.md in in "sdk-unreal" directory to integrate the SpacetimeDbSdk plugin into your project.
  2. Launch the project in Unreal Engine.
  3. Create a new level. Press add in the Content Browser, then select "Level" to create a new level.
    • Alternatively, you can open an existing level if you already have one.
  4. In the Content Browser, locate the BP folder. Inside, youll find an actor named BP_ChatClientActor.

Using the Blueprint Version

  • Drag BP_ChatClientActor into your level.
  • Press the Play button to start the game.
  • BP_ChatClientActor actor connects to localhost and uses the module name quickstart-chat.
  • It automatically subscribes to all tables.
  • In the Details panel, you can manually call functions to start/end subscriptions and invoke reducers, only while game is running.

Using the C++ Version

  • Click "Quickly add to Project" button (cube with a plus icon), select ChatClientActor, and add it to the level.
  • Press the Play button to start the game.
  • This actor provides the same functionality as the Blueprint version but is implemented in C++.