Skip to content

Latest commit

 

History

History
89 lines (75 loc) · 6.95 KB

File metadata and controls

89 lines (75 loc) · 6.95 KB

Unity Explorer

Welcome to the official documentation for Unity Explorer — the Decentraland client built on Unity. This wiki covers architecture, development standards, feature guides, and tooling.


Getting Started

Contributing

Architecture

  • Architecture Overview — ECS concepts, dependency management, containers, and abstractions
  • Directories & Assemblies — Project folder structure and assembly rules
  • Systems — ECS system lifecycle, streamables, and scene bounds
  • Scene Runtime — SDK7 scene execution, CRDT bridge, JS modules, scene lifecycle states, and threading model
  • Cross-World ECS Access — Global world from scene systems, injection chain, propagation systems, bridge components
  • MVC — UI architecture: controllers, views, and the MVC manager
  • Third-Party Libraries — ArchECS, ClearScript, and Sentry

Development Guides

Core Systems

  • Asset Promises — Asynchronous asset loading with ECS promises
  • Disk Cache — Persistent asset cache: architecture, atomic writes, corruption self-healing, and eviction
  • Asset Bundles Conversion — GLTF to Asset Bundle conversion pipeline
  • Web Requests Framework — Allocation-free web requests with retry policies
  • Memory & Resource Unloading — Memory budgeting and cache unloading strategies
  • Multiplayer — Transport-agnostic multiplayer hub: shared interfaces, movement pipeline, entity/profile tables, SDK propagation, dual-transport wiring
  • LiveKit Networking — LiveKit transport: dual-room architecture, messaging pipes, Archipelago/GateKeeper, voice and chat rooms
  • Pulse — Pulse transport: ENet peer transport, peer identity, protocol, feature-flag gating
  • Diagnostics — ReportHub logging system and Sentry integration
  • Performance Analyticsperformance_report telemetry: hiccup/frame-time metrics, measurement window, and target-relative threshold

Avatar System

Chat & Social

  • Chat — Chat system architecture, state machine, and MVP structure
  • Chat Emojis — Emoji atlas creation and TextMesh Pro integration
  • Chat History Storage — Local encrypted chat history persistence

Features & UI

Authentication & Web3

Testing & Debugging

  • Debug Container & Widgets — Runtime debug panel architecture, widget builder API, bindings, and integration patterns
  • Testing Guide — UnitySystemTestBase, ECS test utilities, mocking, EditMode/PlayMode, async test patterns
  • Automation Testing — AltTester SDK setup, writing UI automation tests, running against instrumented builds and in-Editor, triggering visual regression on PRs via /visual-tests
  • MCP Automation — Embedded MCP server for coding agents: screenshots, player/scene state, scene logs, and player control via --mcp
  • Connect to Local Scene — Running and connecting to local SDK7 scenes
  • Master of Bots — Simulating multiple bot users for load testing
  • Override Debug Log Matrix — Runtime log severity overrides
  • Performance Benchmark — Generating PDF benchmark reports

Build & CI

Operations

  • Incident Response — Severity levels, #qa-team flow, crash escalation, hotfix rules, and SEV-1 postmortems
  • Issue Triage Categories — Primary vs secondary feature categories used to assign severity labels and decide SEV-2 hotfixes