The Construct 3 Addon SDK 2 Fiasco: A Critical Analysis


The Construct 3 Addon SDK 2 Fiasco: 

A Critical Analysis

   Hi, my name is Chad Wolfe. I'm a game developer, working on Byte Sized Runners and CardMancer as the founder and lead of Cairo Creative Studios, as well as leading a few development teams on some passion projects including this one here, Construct3D, a comprehensive 3D Editor plugged into Construct 3. Today, I'm going to be discussing the recent Addon SDK 2 fiasco, spearheaded by Scirra, and how it impacts the engine, its users, and the community at large. I will also be uncovering the truth behind some misconceptions that the lead developer, Ashley, has shared in his posts on the forum. Finally, I will discuss what we can do about this, as a community, and what I am already doing about it to mitigate risk throughout the development of Construct3D.

The Community Forum Debacle

   Recently, there has been a lot of back and forth in the community forum involving Ashley, the developers of Addons, and users alike. The updated Addon SDK 2 announcement has caused quite a stir, revealing that all old Addons will be deprecated and broken by the engine's newer releases. To mitigate the backlash, Ashley has made efforts to facilitate the conversion of Addons, which is a major plus. He understands the impact this change will have on Addon developers, so he has tried to make the transition as easy as possible.


Unkept Promises and Developer Backlash

   However, problems quickly arise. Ashley had previously promised that old Addons would still be supported with SDK 2, a promise that has not been kept. All Addons will be broken by this change, forcing developers to update all their scripts to meet the new SDK requirements. If developers choose not to update their Addons, thousands of hours of work will be wasted. This has led to significant backlash, with many developers considering leaving the development of Construct 3 Addons altogether. This means that not only is Construct 3 taking major steps back in its development, but it will also take a long time to rebuild the Addon ecosystem.

The Issue with Encapsulation

   Ashley states that the reason for this change is in response to customer complaints that Construct 3 updates break many Addons using "unsupported features." The new Addon SDK 2 enforces encapsulation, preventing developers' code from accessing engine internals. This means that plugins and behaviors cannot modify or extend built-in engine functionality.

   This is a significant issue. The new SDK will break every Addon made for Construct 3 so far, and the inability to interface with engine internals makes the problem worse. Addons that relied on engine behavior, like those from Skymen and Mikal, will be impossible to recreate. This issue will affect all Addons made in Construct 3.


Misconceptions About Other Game Engines

   Ashley claims that other game engines already enforce this kind of encapsulation. This is incorrect. Throughout my game development career, I've appreciated the extensive control developers have over the runtime of game engines like Unity, Godot, and Unreal. These engines keep older versions available and, in some cases, provide Lifetime Support (LTS), ensuring that Addons remain functional despite updates. This is how other game engines handle the issue and how Construct should be handling it too, small team or not.

A Community Solution

   If a Construct user doesn't like the changes, they should be able to use an older version of the engine. Backporting newer additions through Addons could be managed by the community as a form of community LTS. Construct 3 will soon have less functionality than it previously did, and the issues created by these changes will likely need to be resolved by the community, as Scirra seems set in their ways.

Impact on Construct3D

   This brings us to the impact on Construct3D.In a discussion with Mikal, Skymen, and Ashley, I pitched my concept for Construct3D. While Mikal and Skymen were interested, Ashley was against it, suggesting he might make changes to the engine that would prevent the tool from working.

   If Ashley intends to break Construct3D, why continue development? The answer is simple: I can continue working with the same version of Construct 3. Additionally, I can develop a Chrome Plugin for Construct 3, creating a Construct Version Hub similar to the Unity Hub. This would allow developers to use the version of Construct they prefer with a click of a button.

Moving Forward

   I refuse to let my Construct 3 experience be ruined by poor management, and neither should you. Scirra will recognize the value in changing direction if we create the value first. When they follow our lead, we will no longer have to resort to these roundabout methods. I hope this happens sooner rather than later, as this is a significant undertaking.

   Still better than Unity load times, though...


Leave a comment

Log in with itch.io to leave a comment.