SDK7 - Under the hood: Editor V1

:rocket: SDK7 - Editor V1

Following my last posts, we can say that we’ve talked a lot about all the “gears” that make these improvements one of the biggest technological leaps for the platform. Now it’s time to take an overview on one of the main courses that we can serve with the new SDK7: the Decentraland Editor.

The Editor will be the next generation of powerful scene creation tools, and its main focus will be the ease of use and to reduce the amount of steps required for users of any knowledge level to start creating experiences for Decentraland. The goal is to have an all-in-one content creation tool, with both graphical interface and code editing capabilities, enhancing the experience for both technical and non-technical creators.

The Editor it going to be developed and released in three different phases, and each one will bring new features:

  • Phase 1: Enhance the development experience
  • Phase 2: Separate Art pipelines from developer pipelines
  • Phase 3: Creation of interactive scenes without code

This was designed as a step by step implementation in order to correctly test, iterate, and to start adding new features once bases are rock-solid.

The first release is already available on the VSCode Marketplace for anyone to test and try out: Decentraland - Visual Studio Marketplace, currently it is released as a v0 which means that it is still under development, although all the features scoped for the v1 are already implemented, but it is being tested by users to gather feedback and report/fix bugs in order to shortly release the first production-ready v1 before the end of the year.

Where do we come from?

The tool that we were used to working with was the ‘Builder’, but content creation with the Builder turned out to be very limited, again, due to scalability issues. You were only able to get to position things, and the only way that you could build any interactivity into it was through ‘smart items’ and their intrinsic configurable parameters and actions that can be triggered.

One of the main issues with that, was that you weren’t able to edit or modify those smart items within the builder, since you needed to code using the SDK and then import them. Probably the major pain point for creators was to have to use the command line to perform these actions.

Where are we now?

The way the editor & SDK7 are designed will encourage content creators to structure code in an Entity-Component-System architecture -check my last post-, and one of the main advantages of this is that you end up with code that is very modular and uncoupled.

DCL Editor V1 was recently released and this version fits with the planned ‘Phase 1’. Some of the improvements, features and attributes that we can highlight about this first version are:

  • VSCode Extension - you may now use the Editor only by installing an extension on your VSCode app.

  • CLI and NPM - removes the need to use the CLI and NPM, getting rid of the need to interact with the terminal, eliminating possible frictions and avoiding the need to install NodeJS. All of this functionality will be gradually available via UI buttons, removing the use of the command line completely from the flow but also preserving it as an optional only for advanced users with very specific needs.

  • Create/Run/Publish/Preview scene - same features as CLI but with a graphic interface.

  • Create - in a few clicks and filling up a couple of fields, you’ll be able to set up a new project.

  • Run scene inside editor - Instead of opening a browser window, the preview viewer should open within the editor. This is not just a more comfortable all-in-one setup, it gives us access to VS Studio’s more advanced debug functionalities.

  • Publish - Open the Editor’s menu, by clicking the Decentraland logo on the tabs on the left. Then click Publish scene.This opens a new tab in Visual Studio, showing what parcels you’re deploying to.

  • Integrated Debugger - you’ll now be able to add breakpoints to your scene’s code. When running a preview, whenever the code passes through these breakpoints, it pauses execution. A Debug panel opens, showing the current values of all variables at that point in time, not manually like using CLI.

This is especially useful to validate that the data at a given point in time is what you expect. You can also modify the values of any variable manually and resume execution with the blue play button, using those new variables. This is great to test corner cases, to make sure the scene behaves as expected in every scenario, which might otherwise be a lot harder to reproduce.

To conclude…

Decentraland Editor will seek to bring a better UI and UX for content creators that are already in DCL ecosystem and will improve for sure their productivity, but will also look towards engaging new makers, designers and creators by having the best of two worlds in one tool, taking the content in Decentraland to the next level.

As always, here are some useful links to explore, get a better understanding, and go further:

-Let’s build the metaverse together | Decentraland Documentation

-Editor Beta testing guidelines | Decentraland Documentation


-VSCode Extension