[DAO:60cf99a] Future-Proof Decentraland Projects: Unity Scene Importer & SDK Migration Tool

by 0xb7ee502c4dadcc9a62934b02c5f8decbbfa32c48 (kourtin)

Should the following $80,000 grant in the Platform category be approved?

Abstract

An easy to use, industry-compatible and major update to the Unity Editor Toolkit. This will allow the import of already made scenes in the Decentraland Builder into the Unity editor pipeline and level up your creations.

External Image

Grant size

80,000 USD in DAI

Project duration

3 months

Beneficiary address

0x4e54dA189F2eC8e3704051df5D694dd9500D88AB

Email address

info@polygonalmind.com

Description

Background

We are Polygonal Mind, a widely known creator that focuses on beautiful aesthetics and optimization and for over 5 years we have been building content in Decentraland and the rest of the Metaverse.

We have made one of the alternatives to the Decentraland Builder that has allowed us to build experiences like Megacube, Doritos and the recent 100Avatars Garden. You can start right away building Decentraland content with the Unity Editor here.

Vision

With this update to the Unity Exporter Toolkit for Decentraland we aim to establish a pipeline that allows creators to future-proof their creations no matter if they built directly with a cmd-SDK pipeline or they used the Decentraland Builder.

The problem we found, explained

There is a general issue when it comes to maintaining or developing projects in Decentraland, either you are an artist and the builder lacks advanced tools to add gamification and custom code or you are a developer and the compiled SDK7 project lacks a visual editor to quickly check and upgrade the scene.

The current state of the exporter allows anyone to build Decentraland scenes directly in the Unity editor and export them as SDK7 projects ready to deploy but doesn’t work the other way around.

External Image

Furthermore solutions like the Decentraland builder or the IWB force a creator to be connected constantly to the network, with no possibility to work offline or keep the work backed in a repository or version controlled at all.

Solution

Create a bridge that allows any SDK6 and SDK7 to be compatible with the Unity Editor Toolkit, enhancing development and content creation and establishing a robust way to preserve and update previous and future Decentraland content.

External Image

Through the editor:

  • You can import already made Decentraland scenes into Unity and deploy them back with enhancements.
  • Upgrade SDK6 projects to the SDK7 and preserve base components to keep building under the new framework.
  • Combine the power of a detailed and industry standard editor to take your creations to the next level.

In the abstract you can find a rough demo we have made as a proof of concept of what we want to achieve and grant to all creators. With a default scene from the Builder, we imported it back into the Unity Toolkit, where we would, as creators, keep building and expanding with more models, components and scene behaviours.

Roadmap and milestones

Goals

  • Ensure there is a way to preserve content from Decentraland SDK6 and SDK7 scenes and preserve them in a more industry-compatible way.
  • Revive stuck or zombie projects. Make use of a friendly pipeline by migrating it into the editor.
  • Give a way to already made scenes to expand in complexity and get all the benefits the Unity Editor Toolkit for Decentraland has.
  • Keep lowering the barriers of access to create content in the platform thanks to the great file format flexibility Unity has.
  • Make SDK7 development flexible and SDK6 migrations easier. We will be adding a painless process of deployment that will be run in Unity, the same way you can preview your work you will be able to roll it out in any scene you operate or world you own.

The tool will have now two options to import any SDK7 or SDK6 .zip files, allowing creators to keep building detailed scenes directly in the Unity editor and export them back as ready-to-deploy.

Furthermore

  • The tool will be properly updated to contain any component update from the SDK7 and clean up the road (and code) for any future update of content and editor possibilities.

We feel confident on delivering all the defined features in 3 months, divided in regular milestones as it follows:

  • Milestone 1
    • SDK7 Project Import
  • Milestone 2
    • SDK7 Components Import
    • SDK6 Project Import
  • Milestone 3
    • SDK6 Components Import
    • QA and Debug

Vote on this proposal on the Decentraland DAO

View this proposal on Snapshot

Hey, interesting proposal :slight_smile:
I’d like to know more details about the technical part, how the importer will work and explicit the limitations in terms of code, functionality, models, etc.

I don’t think this is useful, until Decentraland 2.0 will be released. Another waste of funds for useless tool that nobody will use. Maybe with DCL 2.0 it would be good.

Hey there @leangodotdev,
Thanks for sharing your interest!

So the system is fairly straightforward as we take the vanilla generated project as the model to import into Unity.

  1. The index.ts (or game.ts in SDK6) is what allows us to generate in the Unity scene a hierarchy of gameObjects and its components.
  2. The scene.js defines the general shape and the limitations of the scene, this is also imported in the Unity project as the tool will read and establish the parcels and its base.
  3. Spawn points and any component attatched to a DCL entity can be imported back into the scene, we want to make use as much as possible of the level editor and natively import DCL components such as physics (colliders), entity components like links, animations, triggers, modifier areas… anything defined in the Decentraland docs will have its way back to Unity editor data.
  4. Models are imported via GLB support to the Unity editor. As GLB objects they can coexist with the rest of asset data and be a functional part of the scene.

Some already known limitations:

  • Anything completely made custom has de chance to not be imported correctly, this will be solved by tagging properly and visually the affected entity in the Unity Editor. This way we know (as developers) which entity may be temporarily disconnected from their behaviour and properly debug it as development continues.

  • UI. UI in SDK7 is not directly import-able or easy to manage as Unity UI and SDK7 UI have base concepts too differentiated. In any case, if anyone had a functional UI working in a SDK7 project its perfectly compatible to work in Editor and tweak the UI upon running local tests.

Hope this solves your curiosity! Let me know if there is anything unclear :slight_smile:

Hey there @theankou,
Thanks for stepping by and sharing your thoughts on this proposal.

Would you kindly elaborate on how Decentraland 2.0 will override the custom building process and the SDK7? I watched the streams before submitting this proposal and so far I haven’t found anything that invalidates the current creation process; neither the builder, the desktop editor or side builders like the Unity toolkit.

And even if it would, this proposal would be putting to a safe place any SDK7 and SDK6 project as it would allow creators to re-export the code to an up-to-date, fresher and newer version of the SDK.

As for the utility of the tool, its backed by over 100 projects that we (Polygonal Mind) have used to create immersive worlds and experiences in Decentraland, the latest 100Avatars Garden. For us this is a step forward on making the platform embrace a more industry-standard process to create and maintain content.

DCL 2.0 client still works with SDK 7, there are no updates on the development

Hey all

I’d just like to add my perspective from inside the foundation.

The argument that the new Decentraland client would make this obsolete is totally false. The new client will provide a new way to access content, but will not change the way that content is created. All of the scenes built with SDK7 that work today should work just the same in the new client. So this tool will remain just as valuable after the explorer release.

Polygonal mind have proven time and time again that they can build top quality content, and it has all been using this in-house tool. So making this tool something that anyone can use would be extremely useful for helping Decentraland have more high quality content.

3 Likes

80k tho, in addition to the previous ones.
It’s a good tool but how much people are really using the previous iteration of it and what content apart from what PM did was created using it?

Future-Proof Decentraland Projects: Unity Scene Importer & SDK Migration Tool

This proposal is now in status: REJECTED.

Voting Results:

  • Yes 19% 536,741 VP (45 votes)
  • No 68% 1,840,519 VP (13 votes)
  • Abstain 13% 360,254 VP (3 votes)

Your vote was casted as no long before you replied or comment.
I appreciate that at least you draw your why on the reason behind it.

Let’s just avoid the part of the cost of running a business or the rising costs in general in the global economy. There is a clear lack of understanding on how expensive development is and the people (direct and indirect workers of any project) deserve a fair wage for their work, effort and value :+1:

“In addition to the previous ones” - Polygonal Mind has only run for 2 grants over our 5 years lifetime building in Decentraland. We have only run once for a tool.

The first one focused on getting the proper funding and help from the DAO to turn one of the biggest creation tools we have made in Decentraland open source to everyone. If anyone can recognize the 74 projects built on Decentraland made by us it’s because that tool - that’s the value to spend the money, improve it and make it open for all. The result? The tool is open source, the code obviously public, free to anyone that wants to do anything like the projects we have built.

The second one was simply requesting the costs of submitting to the DAO 100 wearables that we were going to give for free and partially fund the development of the land that would prize the users. With this project we have run into loss as we constantly need to feed the dispenser (whoever decided only campaign owners could fund the rewards gg wp, reward claiming must be on user to avoid draining). The result? We have one of the highest traffic scenes in Decentraland and everything is free and welcoming for new and old users. The scene code is opensource and anyone can build and use our content to expand it with a fresher view.

This third one locks out the developers, artists and users that had their content in third-party tools like the dcl builder itself. Helps anyone to quickly upgrade their content to SDK7 and keep building. The tool itself doesn’t have trackers to measure usage (and will never have).

I’m not mad, I was expecting the no after having to over-justify twice the value we present, my mind is in peace acknowledging that we plan things that make sense, our value and portfolio. Who knows, maybe by the next time there is a new proposal the DAO has a better way to judge and process utility of spent funds. Tech development is expensive, building a product even more.

I deeply expect in the end that you @HPrivakos have a vision to propose or something in mind that fills all the gap this platform has - technically, visually and content-wise; and whoever says proving and engaging content or better building-tools are not necessary do not understand why web3 is closer to no-return sinking.

2 Likes