Absolutely, I completely agree with the potential of the Decentraland Builder. During the Decentraland Builder Hackathon, I had the opportunity to create multiple scenes using it, and I must say, it was not only easy but also incredibly engaging and enjoyable. As an artist, having the ability to craft 3D creations and explore them in a virtual environment opens up a whole new world of possibilities.
When it comes to developing scenes for Decentraland, there are various approaches available - from utilizing the Decentraland Builder and the Decentraland SDK to exploring third-party tools. Below, I'll outline these methods, starting from the simplest to the more advanced ones.
You can use these techniques to construct scenes and test them locally on your computer before uploading them to your land. Once you're satisfied with your creation, you can utilize either the Builder or the SDK to upload your scenes to your designated land within Decentraland. To acquire land, visit .
If you aspire to work as an artist or developer for other landowners, there's a "hiring" channel accessible on the Decentraland Discord server at
1. Constructing Scenes using the Decentraland Builder
To commence building a scene, navigate to , select the size of the scene you wish to develop in parcels, and start creating your scenes.
Browse through the Items catalog to choose elements for your scene. Simply drag and drop the desired items onto your scene.
To preview your local scene and see how it would appear in Decentraland, click on the eye button (Preview). Click on X to return to the Builder.
While the scene is saved in your browser memory, it's advisable to back it up securely by downloading the scene as a local zip file. Later on, you can re-upload the scene by importing this zip file using the "UPLOAD SCENE" function on the main builder page.
Furthermore, you can leverage the files from the downloaded zip to generate an SDK-compatible version of the scene for additional customization, if required, and optionally deploy it to your land in Decentraland. For this process, proceed to approach 2.
An upcoming feature that allows direct uploading of your scene from the Builder is on the horizon and may already be implemented by the time you access this information.
You also have the option in the builder to "Publish" your scene to a pool utilized by landowners or districts to populate their land.
2. Developing and Deploying Scenes Using the Decentraland SDK
The Decentraland SDK provides the flexibility to incorporate custom content and, when necessary, scripted dynamic behavior into your scene.
For comprehensive Decentraland documentation, refer to .
Ensure that your scenes remain simple enough to comply with the published scene limitations. Particularly, focus on managing the "triangle count", essential for optimal performance when coexisting alongside numerous other scenes "in world".
To begin, install the SDK following the provided instructions.
There exists a growing repository of script modules developed by Decentraland builders. Explore the builder channel in the Decentraland Discord, MetaVRS.io, or study and adapt sample code from the Decentraland examples available at
Decentraland scripting employs Typescript, an extension of JavaScript. The primary entry point for a scene is the games.ts file located in the src subdirectory.
Once the SDK is set up, you can initiate an entirely new scene by establishing a new working scene directory and executing dcl init
. Alternatively, create a working directory, extract the contents of the zip file into it, and then enter npm i
in that directory.
When ready to preview your scene via the SDK, type dcl start
An excellent tool for editing SDK scene scripts is "Microsoft Visual Studio Code," offering syntax highlighting and error detection features. While working on game.ts or other supplementary code modules, the editor recognizes the SDK's classes, functions, and any additional imported code modules, facilitating accurate coding practices.
If you've designed your scene using the Decentraland Builder and prefer not to further customize it due to lack of expertise, you can still preview it as mentioned above. When prepared to deploy an SDK scene to your land, utilize dcl deploy
. Ensure to sign the deployment using MetaMask or a similar crypto wallet to verify land ownership. Edit the "scene.json" file to specify the parcel(s) you intend to upload the scene to by adjusting the "parcels" list and the "base parcel" coordinates.
3. Crafting Scenes with JanusVR and Converting Them to the SDK
JanusVR serves as an effective tool widely employed for developing 3D/VR scenes.
Download JanusVR for free from .
The "" code ("JML markup") within the JanusVR scene's code editor can be transferred to the corresponding markup in a scene constructed within JanusVR's hosting platform, , enabling an upgrade to Vesta UV Pro. This upgrade offers a feature to export the Vesta scene to a Decentraland SDK compatible file set (Convert to DCL)
Both JanusVR and/or the Vesta client can be directed towards the Vesta URL by individual collaborators, promoting collaborative design efforts.
Stick to low-poly gltf or glb model files when building in JanusVR as only these formats are recognized in the Decentraland SDK.
4. Creating Scenes in Unity and Exporting Them to the SDK
While I haven't personally attempted this method, you can explore:
https://github.com/decentraland/DecentralandUnityPlugin
Again, adhere to low poly models and ensure they are in gltf or glb format to integrate effectively with the SDK.
5. Designing Scenes in A-Frame and Migrating them to the SDK
If proficient in both A-Frame markup scripts and SDK typescript scripting and have cultivated scenes in A-Frame suitable for transition to Decentraland, unravel the steps involved in converting A-Frame markup for models and primitives into SDK games.ts syntax.
Although requiring effort, I've successfully transformed several scenes using this technique.
Once again, utilize glb or gltf versions of the models, emphasizing compliance with triangle and other constraints.
I trust this guidance will assist you and fellow enthusiasts in initiating an exciting journey of constructing and deploying scenes in Decentraland.