Unity Multiplayer
Unity multiplayer は cn.indiegp.sdk.unity.multiplayer で提供されます。core package には multiplayer type や socket は含まれません。
IGP.Multiplayer: Hosted、Room、Realtime、KCP/UDP、診断、event。Mirror 依存なし。IGP.Multiplayer.Mirror:MIRRORdefine がある場合だけ compile される任意の transport。
同じ GameObject に IGPRuntimeManager と IGPMultiplayerRuntime を配置し、IGPRuntimeManager.InitializeAsync() を一度だけ呼びます。Room/Player context が有効になると descriptor と KCP/UDP は自動的に開始されます。
KCP は Ready に必須です。raw UDP は任意で、unreliable data を KCP に fallback しません。KCP 切断後は 1s, 2s, 5s, 10s, 30s の間隔で descriptor を再取得します。
Mirror を使う場合は IGPMirrorTransport に IGPMultiplayerRuntime を明示的に割り当てます。ClientConnect() と ServerStart() は intent のみを保持し、KCP/UDP や Mirror.NetworkManager を起動しません。
Unity のコード例は samples/unity/2022.3.62f3c1/sample/Examples/ にあります。