The Decentraland Software Development Kit provides the tools, documentation, and alpha version of our API that developers need to start creating basic games and applications for Decentraland. We’ve built the Decentraland SDK with content creators and developers in mind, but we want to make sure that the SDK is open to anyone who is technically-inclined and interested in creating experiences for Decentraland.

What is the Decentraland SDK?

The Decentraland SDK is a collection of tools and resources designed to help you create 3D content and deploy it to your LAND. From creating your first static scene to scripting multiplayer interactions, the SDK provides what you need to build your first scenes for Decentraland’s WebVR platform.

Wait, what are scenes?

A Decentraland scene is the collection of 3D objects, textures, and audio rendered on one or more LAND parcels. Scenes can be:

Static : using a markup similar to HTML (inspired by A-Frame), you can add simple 3D objects, audio, and video to your scene.

Dynamic & singleplayer : using the decentraland-api, a TypeScript library, you can create more complicated and interactive scenes.

Dynamic & multiplayer: you can also build scenes that are executed on a remote server. This makes it possible to have more than one player interacting with your content and other users. The supporting script is run on a server and connects to the client through a WebSocket interface. These multiplayer scenes are still experimental — we’ll improve these in a later release.

Why a tool for developers?

Building a virtual world is a lot of work, and it will require the collaboration of the entire community of developers, designers, and artists. So, we decided to release a set of developer tools to get these users up and running with the Decentraland platform as quickly as possible.

We know that the entire Decentraland community is excited to start exploring the metaverse, but in order to make that happen we first have to help all of the community districts, game developers, artists, and ethereum developers build and deploy their games, content, applications, and experiences.

What is included in the SDK?

The SDK includes three major components: a command line interface (CLI), the alpha API, and some supporting documentation.

Command Line Interface (CLI)

The CLI helps you to create, manage, test, and deploy your scene. We’ve made the CLI available on any Linux, MacOS, or Windows machine running node.js version 8.0 or higher.

While we already announced v1 of the CLI back in January, we are bundling an updated version with the SDK. This is a critical component of the Decentraland development process, from the very first step of creating the initial structure of your scene to conducting the final Ethereum transaction that deploys and links your scene content to your LAND.

API

The API includes the set of classes and methods needed to create interactive scenes. Our API leverages the entity-component system commonly employed in game design, making it uniquely suited to building interactive, 3D content. This means that every object in your scene is defined as an entity, and every entity is composed of one or more components.

All of these objects, entities, and components can be controlled using the methods and controllers included in the API.

Documentation

The CLI and the API are the core tools of the SDK. To help get you up and running as quickly as possible we’ve written some supporting documentation to educate both new and seasoned developers:

SDK Quick Start Guide

A step-by-step guide to installing the SDK, with instructions explaining how to create, test, and deploy your first scene.

SDK Overview

Our SDK Overview provides an overview of the classes and methods available for scripting your scene. This guide also discusses the entity-component system, showing how you can leverage it when creating interactive content.

Scene Examples

If you want to start experimenting right away, or even if you are just looking for some inspiration, check out our code examples for a glimpse of what’s possible within Decentraland using the SDK.

API Reference

Our API Reference puts the answers you need right at your fingertips, with explanations of every method and parameter included in our API. We’ve tried to remove the need for any guesswork or trial and error by making our API Reference comprehensive and intuitive.

What can I build with the SDK?

This is the first public version of our SDK, and with it you will be able to build a variety of experiences to host on your LAND. However, we are already working to expand the SDK to enable to you build even richer scenes farther down the road.

This release of the SDK allows you to create static and dynamic singleplayer scenes. In other words, you can build a 3D experience, with or without interactive components, that one user can interact with alone.

We have included the ability to build experimental multiplayer scenes where multiple users can interact with scene components and each other. We’re still fine tuning this functionality, and will release more robust multiplayer support in a later version of the SDK.

Where can I get the SDK?

Installing the SDK is as simple as running the command npm install -g decentraland from your terminal!

Or, you can refer to our quick-start guide for a more detailed discussion of how to install the SDK, along with a list of any prerequisites you might need to track down.

How can I learn more?

Explore our documentation to learn more about the different components of the Decentraland SDK, to view examples of what can be built using the SDK, and to find answers to common questions.