---
title: ZEPETO.Multiplay
slug: world-sdk-guide-ja/zepetomultiplay
docTags: 
createdAt: 2026-09-04T05:20:34.582Z
---

| 型                                         | 説明                                               |
| ----------------------------------------- | ------------------------------------------------ |
| [SandboxPlayer](./#sandboxplayer)         | Multiplay Room に接続しているプレイヤーのクライアントを表します。         |
| [IBroadcastOptions](./#ibroadcastoptions) | Multiplay Room からクライアントへメッセージをブロードキャストする際のオプション。 |
| [SandboxOptions](./#sandboxoptions)       | Multiplay Room を作成する際のオプション。                     |
| [Sandbox](./#sandbox)                     | Multiplay Room を表します。                            |

## SandboxPlayer

`interface`

Multiplay Room に接続しているプレイヤーのクライアントを表します。

### プロパティ

| 名前        | 型        | 説明              |
| --------- | -------- | --------------- |
| sessionId | `string` | クライアントのセッション ID |
| userId    | `string` | プレイヤーのユーザー ID   |

### メソッド

### send

`send(type: string | number, message?: T) → void`

指定したチャンネルを通じてクライアントにメッセージを送信します。

| パラメーター         | 型                  | 説明                          |
| -------------- | ------------------ | --------------------------- |
| type           | `string \| number` | メッセージの送信に使用するチャンネルの識別子。     |
| message (省略可能) | `T`                | message 送信するメッセージの内容(省略可能)。 |

## IBroadcastOptions

`interface`

Multiplay Room からクライアントへメッセージをブロードキャストする際のオプション。

### プロパティ

| 名前     | 型                                 | 説明                          |
| ------ | --------------------------------- | --------------------------- |
| except | [SandboxPlayer](./#sandboxplayer) | ブロードキャストから除外するクライアントを指定します。 |

## SandboxOptions

`interface`

Multiplay Room を作成する際のオプション。

### プロパティ

| 名前        | 型         | 説明                                                      |
| --------- | --------- | ------------------------------------------------------- |
| isSandbox | `boolean` | Unity エディターでの QR モバイルテストなど、Room がローカルでホストされるかどうかを指定します。 |

## Sandbox

`class`

Multiplay Room を表します。

### プロパティ

| 名前                    | 型                                 | 説明                                                          |
| --------------------- | --------------------------------- | ----------------------------------------------------------- |
| locked                | `boolean`                         | Multiplay Room がロックされているかどうかを指定します。                         |
| roomId                | `string`                          | Multiplay Room の ID。重複を避けるため、作成時にランダムに割り当てられます。             |
| uniqueId              | `string`                          | Multiplay Room の ID。作成時に明示的に割り当てられます。                       |
| maxClients            | `number`                          | Multiplay Room に接続できるクライアントの最大数。                            |
| state                 | `State`                           | Multiplay Room の状態。状態データのスキーマは Multiplay Schema によって定義されます。 |
| clients               | `IterableIterator<SandboxPlayer>` | Multiplay Room に接続しているクライアントの反復可能な表現。                       |
| allowReconnectionTime | `number`                          | 接続が不安定なクライアントの再接続を許可する制限時間(秒)。                              |
| private               | `boolean`                         | Multiplay Room がプライベートかどうかを指定します。                           |

### メソッド

### onCreate

`onCreate(options: SandboxOptions) → void | Promise<void>`

この抽象メソッドの実装は、Multiplay Room が作成されるときに一度だけ実行されます。
実装は任意で `async` として宣言できます。

| パラメーター  | 型                                   | 説明                              |
| ------- | ----------------------------------- | ------------------------------- |
| options | [SandboxOptions](./#sandboxoptions) | この Multiplay Room を作成する際のオプション。 |

**戻り値:** `void | Promise<void>` — 非同期の場合は `Promise<void>` を返します。それ以外の場合は `void` を返します。

### onJoin

`onJoin(client: SandboxPlayer) → void | Promise<void>`

この抽象メソッドの実装は、クライアントが Multiplay Room に参加したときに実行されます。
実装は任意で `async` として宣言できます。

| パラメーター | 型                                 | 説明                  |
| ------ | --------------------------------- | ------------------- |
| client | [SandboxPlayer](./#sandboxplayer) | プレイヤーのクライアントオブジェクト。 |

**戻り値:** `void | Promise<void>` — 非同期の場合は `Promise<void>` を返します。それ以外の場合は `void` を返します。

### onLeave

`onLeave(client: SandboxPlayer, consented?: boolean) → void | Promise<void>`

この抽象メソッドの実装は、クライアントが Multiplay Room から退出したときに実行されます。
実装は任意で `async` として宣言できます。

| パラメーター           | 型                                 | 説明                        |
| ---------------- | --------------------------------- | ------------------------- |
| client           | [SandboxPlayer](./#sandboxplayer) | プレイヤーのクライアントオブジェクト。       |
| consented (省略可能) | `boolean`                         | プレイヤーが再接続に同意したかどうかを指定します。 |

**戻り値:** `void | Promise<void>` — 非同期の場合は `Promise<void>` を返します。それ以外の場合は `void` を返します。

### lock

`lock() → Promise<void>`

Multiplay Room をロックします。

**戻り値:** `Promise<void>` — ロック処理の完了時に解決される `Promise`。

### unlock

`unlock() → Promise<void>`

Multiplay Room のロックを解除します。

**戻り値:** `Promise<void>` — ロック解除処理の完了時に解決される `Promise`。

### onTick

`onTick(deltaTime: number) → void`

このメソッドの実装は、およそ 100 ミリ秒ごとに実行されます。

| パラメーター    | 型        | 説明                       |
| --------- | -------- | ------------------------ |
| deltaTime | `number` | 前回の呼び出しからの時間差(ミリ秒)を表します。 |

### onMessage

`onMessage(messageType: '*' | string | number, callback: (client: SandboxPlayer, message: T) => void) → void`

クライアントから受信したメッセージを処理するコールバックを登録します。

| パラメーター      | 型                                             | 説明                        |
| ----------- | --------------------------------------------- | ------------------------- |
| messageType | `'*' \| string \| number`                     | メッセージが送信されたチャンネルの識別子。     |
| callback    | `(client: SandboxPlayer, message: T) => void` | 受信したメッセージを処理するコールバックメソッド。 |

### broadcast

`broadcast(type: string | number, message?: any, options?: IBroadcastOptions) → void`

指定したチャンネルを通じて、Multiplay Room に接続しているすべてのクライアントにメッセージを送信します。

| パラメーター         | 型                                         | 説明                      |
| -------------- | ----------------------------------------- | ----------------------- |
| type           | `string \| number`                        | メッセージの送信に使用するチャンネルの識別子。 |
| message (省略可能) | `any`                                     | メッセージの内容(省略可能)。         |
| options (省略可能) | [IBroadcastOptions](./#ibroadcastoptions) | ブロードキャストのオプション。         |

### loadPlayer

`loadPlayer(sessionId: string) → SandboxPlayer | undefined`

セッション ID に紐づくクライアントオブジェクトを取得します。

| パラメーター    | 型        | 説明               |
| --------- | -------- | ---------------- |
| sessionId | `string` | クライアントのセッション ID。 |

**戻り値:** `SandboxPlayer | undefined` — クライアントオブジェクト。

### setPrivate

`setPrivate(isPrivate: boolean) → Promise<void>`

Multiplay Room のプライベート状態を設定します。

| パラメーター    | 型         | 説明                              |
| --------- | --------- | ------------------------------- |
| isPrivate | `boolean` | Multiplay Room のプライベート状態を指定します。 |

**戻り値:** `Promise<void>` — 処理の完了時に解決される `Promise`。

### kick

`kick(client: SandboxPlayer, reason?: string) → Promise<void>`

Multiplay Room からクライアントを強制的に退出させます。

| パラメーター        | 型                                 | 説明                    |
| ------------- | --------------------------------- | --------------------- |
| client        | [SandboxPlayer](./#sandboxplayer) | 強制退出させるクライアントのオブジェクト。 |
| reason (省略可能) | `string`                          | 強制退出の理由を任意で記述します。     |

**戻り値:** `Promise<void>` — 処理の完了時に解決される `Promise`。
