Builder
🍉 Build scenes for Decentraland
Install / Use
/learn @decentraland/BuilderREADME
Decentraland Builder
This UI allows users to create beautiful scenes for Decentraland, manage wearables and emotes, handle LAND parcels and Estates, and deploy content to Worlds.

Table of Contents
Features
- Scene Editor (SDK6): Drag-and-drop scene editor for creating 3D scenes with pre-built assets
- Web Editor (SDK7): Advanced scene editor using the Inspector for SDK7 scenes
- Wearables & Emotes Editor: Create, edit, and publish wearables and emotes for avatars
- Collection Management: Manage standard and third-party collections of items
- Land Management: View, edit, transfer, and manage LAND parcels and Estates
- Worlds Deployment: Deploy scenes to personal Worlds with custom permissions
- DCL Names Management: Manage Decentraland Names (claim, transfer, link to LAND, Worlds, Avatars, or addresses)
- ENS Domain Management: Link external ENS domains to LAND parcels and Worlds
- Templates: Browse and use pre-built scene templates
- Curation Workflow: Review and curate submitted collections (for curators)
Dependencies & Related Services
This UI interacts with the following services:
- Builder API: Backend service for storing projects, items, collections, and deployments
- Peer/Catalyst Server: Decentraland content server for scene deployments and profile data
- Marketplace API: Retrieval of items on sale and marketplace data
- Worlds Content Server: Deployment and management of personal Worlds
- Land Manager Subgraph: GraphQL API for LAND and Estate data
- Marketplace Subgraph: GraphQL API for marketplace transactions
- Rentals Subgraph: GraphQL API for LAND rentals data
- ENS Subgraph: GraphQL API for ENS domain ownership
- Transactions API: Meta-transactions service for gasless transactions
- DCL Lists Server: Lists and bans management
Getting Started
Prerequisites
Before running this UI, ensure you have the following installed:
- Node.js: Version 24.x (as specified in
engines) - npm: Latest version compatible with Node.js 24.x
Installation
- Clone the repository:
git clone https://github.com/decentraland/builder.git
cd builder
- Install dependencies:
npm install
Configuration
The UI uses the @dcl/ui-env module to configure the environment in which the UI will run.
All of these different configurations are located under the /src/config/env directory, where a json file can be found for each environment (dev.json, stg.json, prod.json).
This package automatically loads the environment file for each site in production (zone, today, org) and can be configured to run on a different environment while live by using the ?env= query parameter with the desired environment, i.e: ?env=prod.
Creating an environment file
Create an .env file on the root folder. The basic requirement to run the project:
# .env
VITE_REACT_APP_DCL_DEFAULT_ENV=dev
VITE_BASE_URL=""
Running the UI
Running the start command will result in the Vite development server to start along with the scene compiler in watch mode:
npm run start
To run only the website without the scene compiler:
npm run start:website
Testing
This UI contains tests that assert the behavior of components, stores, and business logic.
Running tests
Run all tests:
npm run test
Run all tests with coverage:
npm run test:coverage
Test Structure
Tests are written in files named along the file they're testing, with a .spec.ts or .spec.tsx extension:
src/
modules/
collection/
reducer.ts
reducer.spec.ts
sagas.ts
sagas.spec.ts
AI Agent Context
For detailed AI Agent context, see docs/ai-agent-context.md.
Related Skills
node-connect
353.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
353.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
353.3kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
