multiplayer-sync

Synchronize Decentraland scenes peer-to-peer using CRDTs and MessageBus.

3|Updated Apr 13, 2026
One-click install
npx skills add https://github.com/decentraland/sdk-skills --skill multiplayer-sync-decentraland
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: multiplayer-sync
Source: https://github.com/decentraland/sdk-skills/tree/main/multiplayer-sync
Command: npx skills add https://github.com/decentraland/sdk-skills --skill multiplayer-sync-decentraland

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Decentraland scenes often require multiple players to share and interact with a common world state without relying on a centralized server. CRDT-based synchronization enables consistent, eventual state across all connected clients, reducing drift and improving responsiveness.

Core Features & Use Cases

  • SyncEntity: automatically keep selected components in sync across peers for shared state.
  • Parent-Child Sync: establish synced hierarchies with parentEntity for coordinated objects.
  • MessageBus & Binary MessageBus: fire-and-forget events with optional high-performance binary payloads.
  • Custom Schemas: define and sync custom components using Int64, Enum, EnumNumber, OneOf, Optional.
  • Connection State: detect when the sync state is ready to read/write safely.
  • Use Cases: multiplayer gameplay, collaborative scenes, shared world state, and player-to-player interactions without a server.

Quick Start

Launch a Decentraland scene and enable CRDT-based peer-to-peer synchronization to share world state with other players.

Frequently Asked Questions about multiplayer-sync

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I sync Decentraland scene state across multiple players without a central server?

You can sync Decentraland scene state across multiple players without a central server by using peer-to-peer CRDT synchronization. The syncEntity API automatically keeps selected components consistent across all connected clients, ensuring shared world state and player-to-player interactions.

What's the best way to broadcast fire-and-forget events in a Decentraland multiplayer scene?

The best way to broadcast fire-and-forget events in a Decentraland multiplayer scene is the MessageBus API. It supports optional high-performance binary payloads, enabling efficient event broadcasting for real-time player interactions without requiring a centralized server.

Can I sync custom component schemas with Int64 and Enum types in Decentraland SDK7?

Yes, you can sync custom component schemas in Decentraland SDK7. The multiplayer synchronization supports custom schemas using Int64, Enum, EnumNumber, OneOf, and Optional types to design resilient multiplayer experiences with shared world state.

How does CRDT-based scene synchronization handle parent-child entity hierarchies?

CRDT-based scene synchronization handles parent-child entity hierarchies using the parentEntity feature. This establishes synced hierarchies across peers, allowing coordinated objects to maintain consistent parent-child relationships in multiplayer Decentraland scenes.

Do I need a server to enable real-time multiplayer interactions in Decentraland?

No, you do not need a central server to enable real-time multiplayer interactions in Decentraland. CRDT-based peer-to-peer synchronization allows connected clients to share world state, broadcast events, and interact directly with eventual consistency.