Changelog
このページでは、各バージョンの具体的な変更内容を記録しています。
ダウンロード、バージョン番号、チェックサムを見たい場合は リリースノート を参照してください。
0.1.6 - 2026-06-12
Section titled “0.1.6 - 2026-06-12”- Unity hosted data-plane attach を
roomId + playerIdごとの single-flight にし、descriptor の重複 request と KCP session の重複置換を防ぎました。 - Unity Direct KCP data-plane は
kcp_handshake_ackを受け取った後だけ connected になります。reconnect では先に古い KCP session を閉じ、500ms -> 1s -> 2sで retry し、古い attempt の callback を破棄します。 - Unity runtime は
STATE_NOT_FOUND、INVALID_STATE_SCOPE、INVALID_REQUEST、FORBIDDENを business error として扱います。STATE_NOT_FOUNDは主要な global state key に default を入れ、connection-service failure として表示しません。 bridge/contracts/data-plane.mdに data-plane single-flight、reconnect 時の close 順序、handshake ack、stale attempt の扱いを追記しました。- Unity / Godot / GameMaker SDK Environment に
PREVIEWを追加し、IndieGamesPass Preview desktop client と\\.\pipe\igp-desktop-sdk-previewへ接続できるようにしました。 - Unity MirrorTransportDemo debug panel に Rematch button を追加し、Unity / Godot hosted session の rematch send regression test で command code
16を固定しました。
0.1.5 - 2026-06-12
Section titled “0.1.5 - 2026-06-12”- Unity reliable data sending now drains by available KCP
WaitSndcapacity instead of a fixed byte-rate/token bucket, with a fallback per-drain cap whenWaitSndis unavailable. - Unity reliable send queues now return
kErrorSendQueueFullwhen capacity is exhausted. Mirror transport treats this as reliable-channel loss and disconnects the affected peer so state can be rebuilt cleanly. - Unity Mirror transport now prioritizes small reliable payloads, stops silently dropping inbound queued transport messages, detects 10-second inbound peer silence, and best-effort flushes disconnect packets on shutdown.
- Unity reliable reassembly now evicts the oldest partial message under inflight/buffer pressure instead of throwing, and reports
reassemblyEvictedin network diagnostics. - Unity hosted data-plane status now recovers from stale
errorstate when KCP is still alive, avoiding misleading status after transient transport errors.
0.1.4 - 2026-06-10
Section titled “0.1.4 - 2026-06-10”- Unity SDK に独立 version の任意 Cloud Archive パッケージ
cn.indiegp.sdk.unity.cloud-archive0.1.4を追加しました。cloud save の load/save は desktop session 経由で転送され、slotは"1"から"5"の固定値です。version/baseVersion、409 conflict 時のcurrentVersionを扱えます。 - desktop session の capability に
cloudArchiveを追加しました。cloudArchiveForwardは capability がない場合に早期エラーになります。Cloud Archive の API 失敗レスポンスは Desktop の normalized error body を解析し、旧 API envelope とも互換性を保ちます。 - Unity release に Cloud Archive の任意
.unitypackageを追加し、release script、Unity package test、installation docs、Release Notes、download table に反映しました。
0.1.3 - 2026-06-09
Section titled “0.1.3 - 2026-06-09”- Unity KCP RTT 統計に stable/raw の 2 つの見方を追加しました。KCP にすでに送信待ちがある状態で heartbeat が送られた場合、その sample は congested として
LastRTT/RawAvgRTT/ 診断ログにだけ入り、通常のAvgRTT表示を汚さないようにしました。 - Unity ネットワーク診断に
rttLastMs、rttAvgMs、rttRawAvgMs、rttCongested、pingQueueDepthを追加し、短い spike が game payload の queueing、実際のネットワーク揺れ、受信側 backlog のどれかを見分けやすくしました。 - Unity のネットワーク診断ログと画面 overlay を別々のスイッチに分けました。
EnableNetworkDiagnosticsは sampling/logging だけを有効にし、ShowNetworkDiagnosticsOverlayが debug panel の表示を制御します。これにより、ログを有効にしても debug UI が自動表示されません。 - Unity の point-to-point reliable message に outgoing scheduler を追加しました。reliable fragment は token bucket、1 回の drain で送る payload 上限、
WaitSndの高低水位に従って複数 frame に分散され、Mirror や大きな payload の burst が KCP に一気に流れ込むリスクを下げます。診断にはnetOutQueue、netOutSent、netOutThrottleも出ます。 - Unity KCP 受信側の burst drain 上限を上げ、必要に応じて KCP receive buffer を拡張するようにしました。固定 buffer が小さすぎて正当な大きめの message が受信 queue の先頭に残り続けることを避けます。診断には
recvLimit、recvBufGrow、recvOversizeも出ます。 - KCP pong ごとの通常 RTT ログを止め、短い network burst 中に高頻度ログが Unity main thread の jitter を増幅しないようにしました。
0.1.2 - 2026-06-09
Section titled “0.1.2 - 2026-06-09”- Unity に任意のネットワーク診断を追加し、
WaitSnd、Mirror produced、KCP out/recv、hit64、pktQueue、reassemblyと診断 overlay を確認できるようにしました。 - Unity P2P のポーリング互換キューに上限を設け、イベントのみを使う統合で SDK 内部キューが無制限に増えないようにしました。
- 協商された reliable chunk サイズを自動的に制限し、JSON/base64 で包んだ chunk が KCP frame 上限を超えないようにしました。
- Unity のネットワーク callback を SDK のネットワーク状態 lock の外で呼ぶようにし、ゲーム側 callback が重い処理をした場合の SDK 側への増幅を減らしました。
- Unity runtime のバージョン報告を明示的なパッケージバージョンに切り替え、導入側のバージョン誤判定を避けました。
0.1.1 - 2026-06-09
Section titled “0.1.1 - 2026-06-09”- Unity hosted session で同じルーム内の rematch が waiting に戻ったとき、KCP data plane と P2P セッション状態をリセットし、次のラウンドが古い data-plane 状態を再利用しないようにしました。
0.1.0 - 2026-06-08
Section titled “0.1.0 - 2026-06-08”- Unity SDK に任意の Lying Bottle パッケージ
cn.indiegp.sdk.unity.lying-bottleを追加し、プレイヤープロフィール、バッグ、ショップ、注文などの bridge 呼び出し向けに型付き desktop-session 転送入口を提供しました。 - Unity desktop session に request/response 呼び出しサポートを追加し、
IGPRuntimeManagerから desktop session 経由で Lying Bottle リクエストを転送できるようにしました。 - Lying Bottle quickstart、README、中国語開発者ガイドを追加し、最新の bridge guide に合わせてフィールド、ルート、購入数量ルールを整理しました。
0.0.8 - 2026-06-05
Section titled “0.0.8 - 2026-06-05”- Unity SDK の desktop session 接続時に hosted bootstrap リクエストを追加し、
IGPRuntimeManagerが desktop から hosted ルームの初期化パラメータを取得できるようにしました。 IGPDesktopSessionClient/IGPDesktopSessionProtocolに hosted bootstrap のリクエスト、レスポンスモデル、プロトコル定数を追加し、関連契約をルートのigp-protoから生成するようにしました。
0.0.7 - 2026-05-27
Section titled “0.0.7 - 2026-05-27”- Unity SDK に、同じルーム内で進行中にマップが変わるイベントを追加しました。ゲームは
IGPRuntimeManager.onMapChangedまたはIGPEventManager.onMapChangedで受け取れます。 IGPMapChangeDataを追加し、変更前後のmapPublicId/mapVersionIdと更新済みルームスナップショットを含めました。- Unity quickstart、イベント説明、ルームライフサイクルサンプル、トラブルシューティング、Web サイトのルーム文書に、進行中マップ変更の接続説明を追加しました。
0.0.6 - 2026-05-13
Section titled “0.0.6 - 2026-05-13”- Unity / GameMaker / Godot の実績機能に、現在のゲームの全実績をまとめてクリアし、結果を返す API を追加しました。
- Unity Mirror transport は、既定で Mirror
v89.0.0以上に対応します。推奨は引き続きv90.0.0以上です。
0.0.5 - 2026-05-12
Section titled “0.0.5 - 2026-05-12”- desktop session の接続時に互換性チェックを追加し、desktop が古い場合や互換性がない場合は明確なアップグレードエラーを返すようにしました。
- SDK は desktop が返す機能リストを見てから機能を呼び出すようになり、後続処理での失敗を減らしました。
0.0.4 - 2026-05-12
Section titled “0.0.4 - 2026-05-12”- SDK が desktop を起動する場合、本番環境では信頼済みの IndieGamesPass desktop のみを起動するようにしました。開発環境では引き続きローカルのデバッグ用 desktop を指定できます。
- Unity Editor でゲーム exe のデバッグパスが未設定の場合、SDK は Unity Editor の現在のプロセスパスを使い、desktop 側の SDK デバッグルールで appId を検証します。
- Unity SDK の初期化は明示的になり、ゲーム側で
InitializeAsync()を呼び出す形になりました。 - Unity Editor で
IGPRuntimeManagerがIGPConfigを自動で関連付け、存在しない場合は設定を作成します。 - desktop session、host bridge、hosted session のプロトコル定数を共通ソースから生成するようにし、構造のずれを減らしました。
- Unity SDK ドキュメントを最新の初期化方法と Editor デバッグ手順に合わせて更新しました。
0.0.2 - 2026-04-29
Section titled “0.0.2 - 2026-04-29”- Unity SDK に任意のコンプライアンスパッケージ
cn.indiegp.sdk.unity.complianceを追加し、実名認証、未成年保護イベント、状態更新を扱えるようにしました。 - 年齢区分と残りプレイ可能時間を取得する API を追加し、ゲーム側で独自に換算する必要を減らしました。
- 実名認証や未成年保護でネットワークまたはサービス異常が発生した場合は、入場不可として扱い、既定メッセージを「network or service error」にしました。
- Unity SDK のローカル通信、Editor デバッグ、オフライン認可キャッシュの扱いを改善しました。
- Unity SDK の公開形式を
.unitypackageに変更し、Unity Editor のImport Packageから直接導入できるようにしました。
0.0.1 - 2026-03-31
Section titled “0.0.1 - 2026-03-31”SDK 初期リリース。
- 起動接続、実績、ルームロビー、リアルタイムメッセージ、状態、RPC など、Unity SDK の基本機能を提供しました。
- Mirror を使ったマルチプレイ向けに、任意の Unity Mirror transport パッケージを提供しました。
- 初回導入と検証に必要なパッケージ、サンプルプロジェクト、導入ドキュメントを提供しました。