コンテンツにスキップ

Unity デバッグ

このページでは、現在の公開 SDK で実行できる Editor デバッグを扱います。 先に インストールQuick Start を確認してください。

Core デスクトップ機能の成功条件は次のとおりです。

  1. InitializeAsync() が成功する。
  2. IGPRuntimeManager.IsDesktopSessionAttached == true になる。
  3. ゲーム認可や実績など、対象機能が期待した結果を返す。

これはルーム参加や RoomNode Game データプレーン接続を意味しません。

通常は Desktop Executable Path Debug Override を入力する必要はありません。 空の場合、SDK は SDK Environment に対応するデスクトップクライアントを 起動し、Unity Editor のプロセスパスと appId を渡します。接続許可は デスクトップ側のデバッグ規則で判定されます。

インストール済みゲームの再現や exe 紐付けを調査する場合だけ override を 指定します。D:\builds\MyGame\MyGame.exe のようなゲーム自身の Windows 実行ファイルを指定し、デスクトップクライアントは指定しません。

  • PROD は IndieGamesPass を使います。
  • PREVIEW は IndieGamesPass Preview を使います。
  • DEV は IndieSpark を使い、Desktop Launch Command または INDIEGP_DESKTOP_PATH の明示指定を許可します。

この override は Editor 内だけで有効です。ビルド済み Player は自身の exe パスを使います。

IGPConfigDebug LoggingErrorWarningInfoDebug の いずれかに設定できます。実行中にも一時的に変更できます。

runtimeManager.Config.debugLogging = IGPLogLevel.Debug;

リリースビルドでは詳細ログを無効にしてください。ログと例外には session token、RoomNode token、その他の接続 credential を含めてはいけません。

Core は現在の Unity runtime platform を DesktopMobile の順に判定し、 一致した Host runtime を 1 つだけ作成します。attach 失敗で platform は 切り替わらず、設定項目もありません。Multiplayer はこの選択に関与せず、 引数なしの作成 API は現在の Core provider から descriptor を取得し、descriptor overload は呼び出し元から明示的に 受け取ります。Runtime は KCP/TCP reliable と任意の UDP unreliable Game lane だけへ接続します。

次の旧フローは目標動作ではなく、新規接続の受け入れ条件にしないでください。

  • Hosted launch package または launch ticket による自動参加
  • Connect Current Test Room
  • RoomChangedCurrentRoomData、Runtime のルームコマンドを Game データ 接続成功の根拠にすること

Multiplayer の受け入れ条件は IsRuntimeCreated、RoomNode Game lane readiness、 ゲームメッセージ送受信、transport fault だけに限定し、Gateway のルーム状態に 依存してはいけません。

  • 常に detached: デスクトップへのログイン、現在の appId のデバッグ 権限、SDK environment を確認します。
  • Core は成功するがルームイベントがない: 目標境界では正常です。Core は ルームを所有せず、Runtime は Gateway イベントを公開しません。
  • Core は成功したが Runtime が作成されない: Host descriptor 経路がない 場合の想定された soft failure です。warning を確認し、経路修正後に明示的な retry API を呼び出します。