---
title: ZEPETO.Multiplay
slug: world-sdk-guide-fr/zepetomultiplay
docTags: 
createdAt: 2026-09-04T05:19:11.222Z
---

| Type                                      | Description                                                           |
| ----------------------------------------- | --------------------------------------------------------------------- |
| [SandboxPlayer](./#sandboxplayer)         | Représente le client d'un joueur connecté au Multiplay Room.          |
| [IBroadcastOptions](./#ibroadcastoptions) | Options de diffusion des messages du Multiplay Room vers les clients. |
| [SandboxOptions](./#sandboxoptions)       | Options de création d'un Multiplay Room.                              |
| [Sandbox](./#sandbox)                     | Représente un Multiplay Room.                                         |

## SandboxPlayer

`interface`

Représente le client d'un joueur connecté au Multiplay Room.

### Propriétés

| Nom       | Type     | Description              |
| --------- | -------- | ------------------------ |
| sessionId | `string` | ID de session du client  |
| userId    | `string` | ID utilisateur du joueur |

### Méthodes

### send

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

Envoie un message à un client via un canal spécifié.

| Paramètre            | Type               | Description                                         |
| -------------------- | ------------------ | --------------------------------------------------- |
| type                 | `string \| number` | Identifiant du canal par lequel envoyer le message. |
| message (facultatif) | `T`                | message Contenu facultatif du message à envoyer.    |

## IBroadcastOptions

`interface`

Options de diffusion des messages du Multiplay Room vers les clients.

### Propriétés

| Nom    | Type                              | Description                                   |
| ------ | --------------------------------- | --------------------------------------------- |
| except | [SandboxPlayer](./#sandboxplayer) | Spécifie un client à exclure de la diffusion. |

## SandboxOptions

`interface`

Options de création d'un Multiplay Room.

### Propriétés

| Nom       | Type      | Description                                                                                            |
| --------- | --------- | ------------------------------------------------------------------------------------------------------ |
| isSandbox | `boolean` | Spécifie si le Room est hébergé localement, par exemple pour les tests QR Mobile dans l'éditeur Unity. |

## Sandbox

`class`

Représente un Multiplay Room.

### Propriétés

| Nom                   | Type                              | Description                                                                                                 |
| --------------------- | --------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| locked                | `boolean`                         | Spécifie si le Multiplay Room est verrouillé.                                                               |
| roomId                | `string`                          | ID du Multiplay Room, attribué aléatoirement lors de la création pour éviter les doublons.                  |
| uniqueId              | `string`                          | ID du Multiplay Room, attribué explicitement lors de la création.                                           |
| maxClients            | `number`                          | Nombre maximal de clients pouvant se connecter au Multiplay Room.                                           |
| state                 | `State`                           | État d'un Multiplay Room. Le schéma des données d'état est défini par le Multiplay Schema.                  |
| clients               | `IterableIterator<SandboxPlayer>` | Représentation itérable des clients connectés au Multiplay Room.                                            |
| allowReconnectionTime | `number`                          | Délai limite (en secondes) pendant lequel la reconnexion d'un client à la connexion instable est autorisée. |
| private               | `boolean`                         | Spécifie si le Multiplay Room est privé.                                                                    |

### Méthodes

### onCreate

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

L'implémentation de cette méthode abstraite est exécutée une seule fois, à la création du Multiplay Room.
L'implémentation peut éventuellement être déclarée `async`.

| Paramètre | Type                                | Description                            |
| --------- | ----------------------------------- | -------------------------------------- |
| options   | [SandboxOptions](./#sandboxoptions) | Options de création du Multiplay Room. |

**Renvoie :** `void | Promise<void>` — En mode asynchrone, renvoie `Promise<void>`. Sinon, `void`.

### onJoin

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

L'implémentation de cette méthode abstraite est exécutée lorsqu'un client rejoint le Multiplay Room.
L'implémentation peut éventuellement être déclarée `async`.

| Paramètre | Type                              | Description             |
| --------- | --------------------------------- | ----------------------- |
| client    | [SandboxPlayer](./#sandboxplayer) | Objet client du joueur. |

**Renvoie :** `void | Promise<void>` — En mode asynchrone, renvoie `Promise<void>`. Sinon, `void`.

### onLeave

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

L'implémentation de cette méthode abstraite est exécutée lorsqu'un client quitte le Multiplay Room.
L'implémentation peut éventuellement être déclarée `async`.

| Paramètre              | Type                              | Description                                        |
| ---------------------- | --------------------------------- | -------------------------------------------------- |
| client                 | [SandboxPlayer](./#sandboxplayer) | Objet client du joueur.                            |
| consented (facultatif) | `boolean`                         | Spécifie si le joueur a consenti à se reconnecter. |

**Renvoie :** `void | Promise<void>` — En mode asynchrone, renvoie `Promise<void>`. Sinon, `void`.

### lock

`lock() → Promise<void>`

Verrouille le Multiplay Room.

**Renvoie :** `Promise<void>` — `Promise` résolue une fois le verrouillage terminé.

### unlock

`unlock() → Promise<void>`

Déverrouille le Multiplay Room.

**Renvoie :** `Promise<void>` — `Promise` résolue une fois le déverrouillage terminé.

### onTick

`onTick(deltaTime: number) → void`

L'implémentation de cette méthode est exécutée environ toutes les 100 millisecondes.

| Paramètre | Type     | Description                                                              |
| --------- | -------- | ------------------------------------------------------------------------ |
| deltaTime | `number` | Représente l'écart de temps (en millisecondes) depuis l'appel précédent. |

### onMessage

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

Enregistre un callback chargé de traiter les messages reçus des clients.

| Paramètre   | Type                                          | Description                                              |
| ----------- | --------------------------------------------- | -------------------------------------------------------- |
| messageType | `'*' \| string \| number`                     | Identifiant du canal par lequel le message a été envoyé. |
| callback    | `(client: SandboxPlayer, message: T) => void` | Méthode de callback chargée de traiter le message reçu.  |

### broadcast

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

Envoie un message via un canal spécifié à tous les clients connectés au Multiplay Room.

| Paramètre            | Type                                      | Description                                         |
| -------------------- | ----------------------------------------- | --------------------------------------------------- |
| type                 | `string \| number`                        | Identifiant du canal par lequel envoyer le message. |
| message (facultatif) | `any`                                     | Contenu facultatif du message.                      |
| options (facultatif) | [IBroadcastOptions](./#ibroadcastoptions) | Options de diffusion.                               |

### loadPlayer

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

Récupère l'objet client associé à un ID de session.

| Paramètre | Type     | Description              |
| --------- | -------- | ------------------------ |
| sessionId | `string` | ID de session du client. |

**Renvoie :** `SandboxPlayer | undefined` — L'objet client.

### setPrivate

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

Définit l'état privé du Multiplay Room.

| Paramètre | Type      | Description                              |
| --------- | --------- | ---------------------------------------- |
| isPrivate | `boolean` | Spécifie l'état privé du Multiplay Room. |

**Renvoie :** `Promise<void>` — `Promise` résolue une fois le traitement terminé.

### kick

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

Expulse un client du Multiplay Room.

| Paramètre           | Type                              | Description                                       |
| ------------------- | --------------------------------- | ------------------------------------------------- |
| client              | [SandboxPlayer](./#sandboxplayer) | Objet du client à expulser.                       |
| reason (facultatif) | `string`                          | Décrivez éventuellement la raison de l'expulsion. |

**Renvoie :** `Promise<void>` — `Promise` résolue une fois le traitement terminé.
