SDK6 Sunset Strategy

Now that SDK 7 is stable, it’s time to discuss the lifespan of older versions, taking into account both platform growth and existing content creators. The purpose of this post is to get feedback on the following decision:

  • From July 1st, support for content creation tools for SDK 6 will be maintained for another 6 months, until the end of 2023. We urge creators to transition to SDK 7 since all new features will be developed for this version. During this window of time, SDK 6 is in code-freeze and only critical issues will be fixed. After that period, the foundation will not fix any further issues.

The reasons for this decision are:

  • Supporting multiple SDK versions limits the development of Decentraland’s new features due to backward compatibility issues. This impacts the simplicity, readability, stability, and performance of the code-base as a whole. Some features and refactors may even be impossible or unfeasible if the platform is required to support older versions too.
  • The SDK team’s resources are currently stretched between SDK 7, the Decentraland Editor, and maintaining SDK 6’s stability. As other parts of the platform that interact with the SDK make changes of their own, the work of ensuring the correct functioning of SDK 6 is not a trivial challenge. The sooner the team can stop dedicating time to SDK 6, the faster they can focus on delivering new features for SDK 7 and the Decentraland Editor.
  • Encouraging the shift to SDK 7 will improve performance for players, especially those with lower-end GPUs.
  • A rapid shift is not feasible due to the learning curve associated with SDK 7. Creators who maintain large projects have a considerable challenge in front of them, as migrating their scenes will take some effort.

We need to find a balance that allows the platform to keep growing but that isn’t detrimental to the ecosystem and the content creators already working on the platform, or to the wealth of experiences that players can enjoy when visiting Decentraland.

From this point onwards, SDK 7 should be used for creating all new scenes. SDK 6 should only be used for maintaining scenes that are not yet migrated.

The foundation’s team will be fully supporting SDK 7, and prioritize any issues that may arise there, as well as helping content creators ramp up on this new syntax and migrate their content.

This plan offers a 6-month grace period for the migration. Support for SDK 6 will cease at the end of the grace period. But, this doesn’t imply older scenes will be immediately wiped out; they are likely to remain playable. Any issues with SDK 6 post 2023 will need to be fixed by contributors outside the Decentraland Foundation. For players, this means that even after SDK 6 is no longer supported, many of the existing scenes are likely to keep being playable.

We can consider two different kinds of support:

  • Support to content-creation tools: This refers to ensuring that the tools for creating content with old versions keep working (the CLI, deployment, Editor, etc)
  • Support in the explorer for already published content: This refers to keeping existing published scenes working as expected

This document only refers to support for the content creation tools and process, the support for continuing to render and run already published content on the explorer can be left for a separate discussion.

For more details about the policies in regard to the maintenance of old releases, read the Version support agreement.

The Foundation would appreciate feedback about this decision, if there are any major concerns or alternatives to consider. It would also be great to hear ideas and proposals of initiatives that could come from the DAO or the community that could aid in this transition, to ensure that the migration towards the new SDK version is as painless as possible.

4 Likes

Thank you for this Nico, as I haven’t started my journey into converting over to SDK7 yet, I feel a combo approach of the two directions feels appropriate.

Maybe a stage where supporting of the tools exists (set a term limit on it so people are aware it is to help phase out, and recommend not starting anything new in SDK6).

Then in the later phases support already published content until it feels there are so few to support it makes sense to shut it down. Hopefully in this phase depending on the scale, there could be some outreach to those that are still using it to help educate and make the transition.

I know sometimes it feels daunting if you don’t have a helping hand. I’m fortunate to have the Community Building DCL Discord for this so I can always find help. But as things get more advanced, there are fewer to help at times.

(All these thoughts come with not having visibility into roadmaps and plans for SDK7 or beyond but hope it helps!)

3 Likes

Amazing! Thanks for the heads-up!

I’ve already shifted one of my projects over to SDK7 and saw some decent improvements in performance. Is there any word whether this will have an impact on scene limitations?