multiplayer-sync

Installation
SKILL.md

Multiplayer Synchronization in Decentraland

Authoring split

syncEntity() adds a NetworkEntity component at runtime — and NetworkEntity is not in main-entities.ts's supported component list. The pattern is:

  • Predefined synced entities (a door, a switch, a scoreboard — known at author time): declare them in main-entities.ts with their visual components. Look them up in src/index.ts and call syncEntity(entity, [...componentIds], SyncIds.NAME) there.
  • Dynamically-spawned synced entities (projectiles, drops, runtime-created game objects): create with engine.addEntity() in src/index.ts and syncEntity immediately.
// main-entities.ts
door: {
  components: {
    Transform: { position: { x: 8, y: 1, z: 8 } },
    MeshRenderer: { mesh: { $case: 'box', box: { uvs: [] } } }
  }
}
Installs
36
GitHub Stars
17
First Seen
Feb 25, 2026
multiplayer-sync — dcl-regenesislabs/opendcl