development-guide

Scene blockchain operations

January 7, 2018
development-guide

A Decentraland scene can interface with the Ethereum blockchain. This can serve to obtain data about the user’s wallet and the tokens in it, or to trigger transactions that could involve any Ethereum token, fungible or non-fungible. This can be used in many ways, for example to sell tokens, to reward tokens as part of a game-mechanic, to change how a player interacts with a scene if they own certain tokens, etc. ...

Publishing a scene

January 6, 2018
development-guide

Before you begin # Make sure of the following: Your scene complies with all of the scene limitations . Most of these are validated each time you run a preview of your scene. You have a Metamask account, with your LAND parcels assigned to it. You own the necessary amount of adjacent LAND parcels. Otherwise you can purchase LAND in the Market . đź“” Note: Multi-parcel scenes can only be deployed to adjacent parcels. ...

Set entity positions

development-guide

âť—Warning: This is a legacy page covering functionality with the old SDK version 6. See the latest version of this topic here . You can set the position, rotation and scale of an entity by using the Transform component. This can be used on any entity, which can also a primitive shape component (cube, sphere, plane, etc) or a 3D model component (GLTFShape). // Create a new entity const ball = new Entity() // Add a transform component to the entity ball. ...

Set entity positions

development-guide

You can set the position, rotation and scale of any entity by using the Transform component. This can be used on any entity in the 3D space, affecting where the entitiy is rendered. This includes primitive shapes (cube, sphere, plane, etc), 3D text shapes, NFT shapes, and 3D models (GltfContainer). Editor UI # When dragging entities via the Visual Editor, in the Decentraland Editor , you are changing the values in the entity’s Transform implicitly. ...

Serverless Multiplayer

November 29, 2023
development-guide

Decentraland runs scenes locally in a player’s browser. By default, players are able to see each other and interact directly, but each player interacts with the environment independently. Changes in the environment aren’t shared between players by default. Seeing the same content in the same state is extremely important for players to interact in more meaningful ways. There are three ways to sync the scene state, so that all players see the same: ...

Version support agreement

January 4, 2023
development-guide

This document describes the versioning policy applied to both the Decentraland Editor and the scripting framework (the @dcl/sdk package). The goal of this versioning policy is to forge a contract between the Decentraland Foundation’s SDK team and content creators, to establish clear expectations and allow content creators to plan their work accordingly. Definitions # Version number – a unique identifier for a publicly available version of software. This identifier consists of a major version number and a minor version number, separated dots (for example, 7. ...

Publishing options

December 21, 2022
development-guide

To invite others to visit a scene you built, you’ll need to publish it in Decentraland. To do this, you’ll need to have deploy permissions to Decentraland parcels or own a Decentraland name in order to deploy to a Decentraland World. Decentraland is made up of parcels of LAND, each 16 meters by 16 meters. A scene is an experience that is built on one or several parcels. This document gives an overview on the different ways to obtain permissions. ...

Manage dependencies

November 8, 2022
development-guide

A lot of times, your scene might need functionality that is already encapsulated in a reusable library. Using external libraries can make your work a lot easier. You can import external libraries into a Decentraland project and then reference the systems, components, or functions described in these libraries. Check the Examples page to find a series of libraries, both created by the Decentraland Foundation and by community members, that solve common problems. ...

Dynamic UIs

October 20, 2022
development-guide

You can define a UI that includes dynamic elements, that are updated on every tick. You only need to handle the updating the variable that represents this data, and the UI will adapt in response to the new values. This is very useful for including elements like a timer, a player’s score, etc. But you can even take this a step forward and define entire UI structures based on state. ...

Data mutability

September 20, 2022
development-guide

When referencing data from a component , you can either fetch the mutable or the read-only (immutable) version. You should always deal with the read-only versions of data when possible. This practice can bring a very significant improvement in the performance of your scene, when compared to always dealing with mutable versions of that same data. The .get() function in a component returns a read-only (immutable) version of the component. You can only read its values, but can’t change any of the properties on it. ...