build-ui

Create screen-space user interfaces for Decentraland scenes using React-ECS.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Developers need a simple way to add 2D screen‑space overlays such as HUDs, menus, dialogs, and input forms to Decentraland scenes without dealing with low‑level rendering details.

Core Features & Use Cases

  • React‑ECS UI Renderer: Initialize a UI root with ReactEcsRenderer.setUiRenderer and define virtual screen dimensions for responsive scaling.
  • Core Components: UiEntity, Label, Button, Input, and Dropdown with extensive layout, styling, and event options.
  • State Management: Use module‑level variables to update UI elements (e.g., scores, health bars) in real time.
  • Multiple Renderers: Add independent UI modules via addUiRenderer and remove them with removeUiRenderer.
  • Responsive Design: Virtual screen size and UiCanvasInformation ensure UI adapts to different devices and resolutions.

Quick Start

Add a call to setupUi() in your scene's main function to display the UI.

Frequently Asked Questions about build-ui

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

FAQPage Schema
How do I build a 2D HUD for a Decentraland scene?

You can build a 2D HUD for a Decentraland scene using React-ECS to create screen-space overlays. Initialize the UI with ReactEcsRenderer.setUiRenderer, define virtual screen dimensions, and call setupUi() in your scene's main function to render the interface.

What components are available for creating user interfaces in Decentraland?

Decentraland user interfaces support React-ECS components like UiEntity, Label, Button, Input, and Dropdown. These elements offer extensive layout, styling, and event options for building interactive menus, dialogs, and input forms.

How do I update UI elements like health bars in real time in Decentraland?

To update UI elements like health bars in real time, use module-level variables to manage state in React-ECS. This allows your screen-space interface to reflect changes dynamically as the underlying data updates.

Can I add multiple independent UI overlays to a single Decentraland scene?

Yes, you can add multiple independent UI overlays to a Decentraland scene. Use the addUiRenderer function to add separate UI modules and removeUiRenderer to remove them when they are no longer needed.

Do I need TypeScript to create screen-space menus and dialogs for Decentraland?

Yes, TypeScript is required to create screen-space menus and dialogs using React-ECS. You must use TypeScript files with a .tsx extension to properly define and render your UI components.