mcpField
S
spacetimedb-client-unreal

spacetimedb-client-unreal

github.com/danmossa開発2146 回インストール19 週間前に更新
リポジトリ

spacetimedb-client-unreal について

Unreal Engine で SpacetimeDB クライアントを実装するためのスキルです。Unreal SDK を使ったコード生成、接続設定、サブスクリプション処理、実行時の実装パターンを扱います。

主な機能

  1. 01Unreal バインディングの生成
  2. 02データベース接続の設定
  3. 03購読済みテーブルキャッシュの参照
  4. 04Reducer の呼び出しとデリゲート登録
  5. 05サブスクリプションとコールバックの管理

活用シーン

  1. 01Unreal プロジェクトへの SpacetimeDB クライアント追加
  2. 02ゲームモジュール向けバインディングの生成
  3. 03ゲームコードでの購読イベント処理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/danmossa/spacetimedb-skills --skill spacetimedb-client-unreal

インストール後、Claude Code で/spacetimedb-client-unrealを入力して読み込まれたか確認します。

同梱ファイルreferences/clients-unreal.md

詳細

このスキルは、Unreal Engine クライアントの実装に使用します。

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 のティックを通じてメッセージを自動的に処理します。プロジェクトに既存のポーリングループがない限り、手動のポーリングループを追加しないでください。
  • サブスクライブ済みキャッシュの読み取りには生成された Conn->Db テーブルオブジェクトを使用し、リデューサーの呼び出しには Conn->Reducers を使用します。
  • 起動時のイベントが重要な場合は、サブスクライブする前に OnInsert、OnDelete、OnUpdate、およびリデューサーデリゲートをバインドします。
  • SubscribeToAllTables() はサンプルに便利ですが、本番コードでは特定の SQL/クエリセットをサブスクライブしてください。
  • プロジェクトで使用されている、生成済みの Unreal クラス名とデリゲート名を使用してください。ローカルに存在しない限り、サンプルの UUserTable や FUserType の識別子をコピーしないでください。
  • 既存のプロジェクト構成で統合されている場合を除き、プラグインのセットアップ、生成コード、ゲームプレイクラスは分けてください。

リファレンスマップ

必要な情報開く
Unreal SDK APIreferences/clients-unreal.md

ガイダンス

  • Unreal の接続ティックとコールバックのバインドパターンは、リファレンスと一貫させてください。
  • サンプルの識別子をそのままコピーせず、ローカルプロジェクトの生成済み Unreal クラス名を使用してください。
  • Unreal チュートリアル全体の作業は、spacetimedb-tutorials に振り分けてください。

コメント