Scene content guide
Learn how to import 3D models to use in a scene
The Decentraland Software Development Kit includes the alpha version of our API, tools like the CLI, and all of the supporting documentation and examples that you need in order to create, test, manage, and deploy 3D content in Decentraland. The SDK allows content creators and developers to create either static or dynamic scenes that will run on the Decentraland platform.
Please note that it’s not required to have LAND to develop a scene. Developing and testing a scene can be done completely offline, without the need to deploy a scene to the Ethereum network (the system Decentraland uses to establish ownership of LAND), or IPFS (the P2P network we use for distribution and delivery of content).
This SDK is intended to be used by developers or users comfortable working with code and a terminal. Most of our tools are built on top of the TypeScript and node.js ecosystem. That’s why you’ll need to have npm (the node packaging system) installed to develop a scene, even for basic static scenes built using markup instead of code.
At a very high level, the SDK allows you to do the following:
Scenes in Decentraland are the collections of 3D objects, textures, and audio rendered on one or more LAND parcels. Scenes can be:
Scenes are created in “projects” using the CLI.
Scenes are deployed to parcels, the 10 meter by 10 meter pieces of virtual LAND, the scarce and non-fungible asset maintained in an Ethereum smart contract. These parcels of virtual space are where you will eventually upload and interact with the content you create using the SDK.
We are developing the web client that will allow users to explore Decentraland. All of the content you upload to your LAND will be rendered and viewable through this client. We have included a preview tool in the SDK so that you can preview, test, and interact with your content in the meantime.
The Decentraland client is still under active development. We’re shooting for a public release by the end of 2018. Stay tuned for future updates!
For additional terms, definitions, and explanations, please refer to our complete Glossary.
The SDK includes a lot of different parts and components. For detailed, step-by-step instructions on how to download and install everything in the SDK, please refer to the ** SDK Quick Start Guide**.
The Decentraland Command Line Interface (CLI) allows you to create, deploy, and manage your scenes in a development environment that does not reside on the block-chain or IPFS (InterPlanetary File System).
After generating your new Decentraland scene locally on your own machine, you can immediately begin editing your scene using a text editor of your choice. After testing your scene locally, you can use the CLI to upload your content to IPFS.
metaverse-api (commonly referred to as the API) is the name for the TypeScript package containing the library of helper methods that allows you to create interactive singleplayer and multiplayer experiences. The API includes methods allowing you to create and manipulate objects on your LAND, in addition to methods that help facilitate in-world transactions between users or other applications.
The API includes everything within the package
metaverse-api. This is all of the classes and helper methods that you will need to use when writing your TypeScript scenes, whether your scene is static, dynamic, or remote.
We have designed the Decentraland API to enable scene development using the Entity Component System, where entities include all of the assets that users will be able to interact with within their web browser (like audio files, video files, and 3D objects) and components function as the bridge between the low-level functionality of the client and the scripts that you write to control the entities in your scene.
Entities are all of the assets that you include in your scenes that users will be able to render, view, and interact with from their web browser. These include audio files and 3D objects.
Internally, the scene you present is generated through a tree of entities.
For a complete reference of the API, with descriptions of every component and method, please see the API Reference.