Skip to content

Collaboration

The map editor supports real-time collaborative editing, allowing multiple users to work on the same map simultaneously.

Collaboration is powered by Yjs, a CRDT (Conflict-free Replicated Data Type) library. When multiple users open the same map:

  1. Each user connects to a shared Yjs document via WebSocket
  2. Changes are broadcast to all connected users in real-time
  3. Yjs automatically resolves conflicts — no manual merging needed
  4. The scene state is eventually consistent across all clients
  1. Open a map in the editor at editor.ctx.gg
  2. Share the map URL with collaborators
  3. Anyone with the URL can join and edit
  • Entity creation and deletion
  • Transform changes (position, rotation, scale)
  • Material and property updates
  • Scene tree structure

Each connected user has a cursor and selection indicator visible to others. You can see:

  • Who is currently editing
  • What object each user has selected
  • Real-time transform updates as others drag objects

If you lose connection, your changes are preserved locally. When reconnected, Yjs automatically syncs your changes with the server and other clients.

  • Large maps with many simultaneous editors may experience slight latency
  • Binary assets (textures, models) are not synced via Yjs — they are uploaded to the API separately