Unable to use SDK v1 plugins

Not favoritedFavorited Favorited 0 favourites
  • 14 posts
From the Asset Store
Endless Runner V1 - very positive, joyful, energetic track with upbeat mood and dance club rhythmic beat!
  • Removing access to SDK 1 plugins is the biggest of Construct3's mistakes... we as a studio with large projects made in Construct can't use plugins like Mikal's for 3d glbs... I think it's a big mistake... we're going to present in Cologne at Gamescom a game that we won't be able to finish... I think it's incredible!!!!

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • That's what the LTS version is for. Nobody in the community is super happy with this but it is what it is.

  • Maybe if the next stable is rebranded as Construct 4, then it would make sense.

    Since normally these kinds of huge changes and incompatibles are what happen when we go from Construct 1 to 2, or Construct 2 to 3.

    Nobody in the community is super happy with this but it is what it is.

    Do you think it's because we didn't provide enough feedback?

  • Removing the SDKv1 option is a big mistake... and more if you think of large developments... in our studio more than 3 years of development in an esport that now can't have continuity... but that doesn't matter to Ashley... and removing the NWJS system is another serious mistake... because the export and connection with STEAM is real ******* but it seems that they only care about their licenses... well, it's very likely that they will lose many of them... it's the biggest Construct error in years... and I've already had many here.

  • Do you think it's because we didn't provide enough feedback?

    No, I'm pretty sure this topic has been chewed through thoroughly in several very long threads.

    The LTS version is the play here if you crucially NEED 3rd party plugins that CANNOT be ported. That's why it exists, it is this exact case.

    Other than that, the options are what they always are: Deal with it or leave for the other side were the grass is greener. And I'm aware that neither of these options is necessarily appealing.

  • jomego Well said. It feels so arbitary as well. The features are working fine, but now we're just not allowed to use them anymore in new versions. It's like "daddy knows what's best for you".

  • SDKv1 addons regularly caused compatibility disasters that ruined people's projects. If you keep using them there is a real risk that your project ends up being ruined before launch. If you have a project years in development using SDKv1 addons then you are relying on sheer luck to be able to actually publish your project in the end. I suspect a lot of people in this position do not fully appreciate how dangerous their position actually is.

    I do not consider this to be an acceptable situation and so we are having to change the way the entire addon system works to remove this risk. It means aligning to what the rest of the industry and all other professional tools do, which is using an addon system that has encapsulation to prevent compatibility disasters from happening. I also wrote a slightly more detailed explanation in this post a couple of weeks ago.

    I know these changes are disruptive and difficult, but I'm afraid it is absolutely necessary. We have introduced LTS releases partly to address changes such as this: you will be able to keep using SDKv1 addons (and NW.js) with r449.x LTS releases until the end of 2026.

  • I'm going to Gamescom (Cologne) with 3 projects that are now hanging by a thread... you explain to a publisher that the work you have done will not have continuity and that in 2026 it will not be able to be updated:... Come on, it seems very serious to me... and look, from my studio we have always bet on Construct and we have taken the engine to places unimaginable for many... I just arrived from ChinaJoy in Shanghai... and we have to throw all the work in the trash... the truth is that it is to reconsider it... you say that it is because it can cause problems... if not, why not having the possibility of it continuing like this... we have many times hired services to make custom addons and now all those efforts are useless... the truth Ashley I don't see it normal.

  • that in 2026 it will not be able to be updated

    Actually maybe Ashley could clarify this but I thought that r449 LTS would stay available beyond 2026, just not receive any more updates. Similar to how all versions of Construct are still available. I can open r100 just fine still if I want to or need to.

    Either way, you may have to do a version freeze. Stay on r449-2 which is the final version that supports SDK1. It's not unusual practice to do in development, especially when you reach later stages of the project where updating the engine could introduce a million random regressions and bugs.

    we have many times hired services to make custom addons and now all those efforts are useless

    Apart from using them in the LTS version, you can still update these addons to SDK2. You should be able update any addon that doesn't hack any engine internals without much issue.

  • ... hanging by a thread ... throw all the work in the trash...

    jomego Don't be dramatic. While many of us aren't happy about the removal of SDK1, it's not the end of the world for your studio or your projects. Just switch to the LTS version.

    Also, nothing you can say here will influence Ashley's decision in any way, have a read:

    construct.net/en/forum/construct-3/plugin-sdk-10/addon-sdk-v2-182122

  • I also believe that Mikal's 3d Object is a revolutionary plugin and a huge upgrade for Construct. It is sad that this plugin cannot be ported to SDK V2. I read on a comment here https://kindeyegames.itch.io/c3-3dobject-alpha that SDK V2 did not have the requested features to support this. And I wonder.. Isn't there a solution that can be found? Anyway...

  • The removal of SDK1 — especially without a proper path for advanced plugins like Mikal’s 3D Object — really hurts teams working on long-term projects. We’re not just talking about hobby projects here, but commercial games, demos for events like Gamescom, and studios with years of investment into the ecosystem.

    Yes, I get that SDK1 had risks and technical debt, but:

    Why not allow SDK1 in a “Legacy Mode” for non-breaking use-cases?

    Why drop NW.js so abruptly when it’s the main route for native integration with platforms like Steam?

    I respect Ashley’s commitment to long-term stability, and the LTS option is appreciated, but locking advanced users into a frozen version until end of 2026 feels like a temporary band-aid — not a solution.

    A few thoughts moving forward:

    Could we get official support for a compatibility layer, or at least some guidance for rewriting complex plugins into SDK2?

    Could Mikal or other devs collaborate with the Construct team to extend SDK2 to support the missing functionality?

    Removing SDK1 may reduce technical risk, but it creates a community trust risk. Construct has always been popular because of its flexibility and plugin ecosystem. Breaking that ecosystem without a clear migration path could push devs elsewhere.

  • Exactly, Mikal's plugin is the one I use the most since I incorporate many 3D things directly into the games... and it's a pain not to be able to use it... because for my studio it's an essential tool... I think that a connection point should be found so that Mikal's plugins are accepted... since I think he is a person who has worked very hard to achieve things with his plugin that would have been unimaginable since Construct3.

  • I'm not aware of any particular reason the SDKv2 cannot support Mikal's 3D object. In fact, in the latest release we just added a new drawMesh() API to improve the performance and ease of use of rendering content like 3D meshes.

    Why not allow SDK1 in a “Legacy Mode” for non-breaking use-cases?

    This has all been discussed extensively already, but to summarize: if we leave it there, people will just continue using it, and compatibility disasters will keep happening. The only way to stop the on-going compatibility disasters is to remove SDKv1. Besides, arguably the LTS release is that "legacy mode" anyway, as that's your option for continued SDKv1 support.

    Why drop NW.js so abruptly when it’s the main route for native integration with platforms like Steam?

    This is a different topic, but we have our own desktop export options for Windows, macOS and Linux now, and it's time to move over to those.

    locking advanced users into a frozen version until end of 2026 feels like a temporary band-aid — not a solution.

    Actually I would say what we are doing is a permanent solution. Other options like continuing support for SDKv1 would be temporary band-aid solutions that still end up causing problems.

    Could we get official support for a compatibility layer, or at least some guidance for rewriting complex plugins into SDK2?

    I'm afraid a compatibility layer is not feasible. However we have long had our guide on porting to Addon SDK v2, plus a set of sample addons, including links to the git commits showing the changes made to update from SDKv1 to SDKv2.

    Could Mikal or other devs collaborate with the Construct team to extend SDK2 to support the missing functionality?

    We've done a fair bit of work on this already. We announced SDKv2 a year ago and have been making various updates to it since then. You can see a log of past SDK updates here, and there's other things like support for the aforementioned drawMesh() API that have come about in large part from discussions with addon developers.

    Removing SDK1 may reduce technical risk, but it creates a community trust risk.

    To me we already have a community trust risk with SDKv1: I can merely rename something, move some code, or fix a bug, and suddenly some SDKv1 addons are broken, and in some cases the addon developer has left the community. Then people see their project break in some Construct update, and they all contact support and tell us our latest release is broken and we need to fix it. If we try to explain about it actually being the addon developer's fault, in some cases people actually refuse to accept that, interpret us as shirking responsibility and trying to shift blame on to others, and they only get more angry and insistent that we fix our broken release. It's a miserable situation, it really sucks, and nobody who cares about making software that works actually develops this way: this is thoroughly understood stuff in the industry, encapsulation was invented decades ago to solve precisely these problems, and the only reason we didn't use it previously was that historically JavaScript didn't support encapsulation. But now it does and we can fix the problem.

    I'd add that back with SDKv1 we always knew the lack of encapsulation was a risk, and so we also had a big red warning in our SDK documentation saying "don't use undocumented features". Our latest documentation is different, but you can see the historical warning on archive.org, which looks like this:

    So if some SDKv1 addon depended on accessing private internal details of the engine, and these features are no longer accessible with SDKv2 - then I'm afraid I have to say we did specifically warn about that. And it also goes to show it's not enough to have a warning saying not to do something - people ignore it and do it anyway. You have to use encapsulation to enforce these rules in the software itself. That's a big part of the reason encapsulation was invented decades ago.

Jump to:
Active Users
There are 0 visitors browsing this topic (0 users and 0 guests)