Beta versions are not as thoroughly tested as stable

Beta versions are not as thoroughly tested as stable

Beta branch

Construct 3 r450

Compatibility milestone; WebGPU enabled by default; CGS updates & more

29 July, 2025 ()

Email Me New Releases

Don't miss out on the latest and greatest new features in Construct 3

Notes

Construct 3 was first released in 2017, around 8 years ago. In order to ensure we can keep improving Construct in the long term, it's important to eventually retire features that are deprecated, have been superseded, or have otherwise been holding it back. This release is a major compatibility milestone as we are retiring a number of legacy features, most notably support for legacy (SDK v1) addons which have been responsible for on-going compatibility disasters, and also the NW.js exporter since it has been replaced by our own desktop export options for some time now. Other legacy features that have also been removed include support for 32-bit platforms on Windows and Linux (even the Raspberry Pi is 64-bit now), the legacy "file" protocols for Android and iOS exports, and the legacy "flat" export file structure. All of these features will remain supported in the r449 LTS releases, which will continue to be supported for another 18 months.

We've now also enabled the WebGPU renderer by default as it is on the cusp of broad support across all major browsers and platforms, and as of this release, all known bugs with the WebGPU renderer have been fixed. This ensures projects take advantage of the latest web graphics technology, based on the Vulkan, DirectX 12 and Metal generation of APIs. This includes the editor, which now renders the Layout View with WebGPU as well (where supported). This blog post has more details about the improvements with WebGPU, and there are a number of other improvements since that was published which we'll cover in another blog soon. As another change to modernize the default settings, Construct now also enables the AVIF image format by default for lossy images on export, as it is broadly supported and very good at reducing download sizes.

Construct's coding capabilities have also steadily advanced over the years, and the latest updates with the new code editor and built-in TypeScript support make it a competitive option for coding games too. To encourage use of Construct as a coding tool, we're removing the free edition limits on lines of code. That means you can write as much code as you like in a project without a subscription!

Other improvements in this beta include further updates for Construct Game Services, and two new examples. There's also a redesigned text layout engine designed to significantly improve performance in dynamic cases such as constantly scaling or re-wrapping a large amount of text - but keep an eye out in case anything works differently to before. It's a big release with a lot of significant changes so bear with us if things go wrong, but happy testing!

Like this Release?

Let us know with a thumbs up!

UpvoteUpvote 11 DownvoteDownvote
Launch r450

Changelog iconNew Additions

Not favoritedFavorited Favorited 6 favourites
Settings: add option to disable update notifications
Not favoritedFavorited Favorited 2 favourites
New examples 'Back face culling', 'Log in with providers'
Not favoritedFavorited Favorited 2 favourites
Timelines: 'KeyframeTime' expression to get the time of a keyframe
Not favoritedFavorited Favorited 5 favourites
Construct Game Services: add login provider Twitch
Not favoritedFavorited Favorited 3 favourites
Asset Browser: use project sampling mode when previewing images
Not favoritedFavorited Favorited 5 favourites
Construct Game Services: add option to retry opening the sign in popup window if blocked
Not favoritedFavorited Favorited 4 favourites
Tweens: add 'On released' and 'On any released' trigger events

Changelog iconChanges

Not favoritedFavorited Favorited 0 favourites
Remove support for legacy SDK v1 addons
Not favoritedFavorited Favorited 9 favourites
Allow unlimited lines of code in Free Edition
Not favoritedFavorited Favorited 0 favourites
Linux CEF: drop support for 32-bit ARM
Not favoritedFavorited Favorited 3 favourites
WebGPU is now enabled by default in both the editor and runtime
Not favoritedFavorited Favorited 1 favourites
Remove support for Cordova iOS/Android "file" schemes
Not favoritedFavorited Favorited 5 favourites
The export image lossy format now defaults to AVIF
Not favoritedFavorited Favorited 0 favourites
Remove support for NW.js exporter and deprecate corresponding NW.js plugin
Not favoritedFavorited Favorited 3 favourites
Windows WebView2: update to WebView2 SDK v1.0.3351.48
Not favoritedFavorited Favorited 4 favourites
Windows WebView2: apply project background color sooner while loading
Not favoritedFavorited Favorited 4 favourites
Windows WebView2: enable host input processing (may help with overlay integration)
Not favoritedFavorited Favorited 0 favourites
Windows WebView2: drop support for x86 (32-bit Intel-compatible)
Not favoritedFavorited Favorited 0 favourites
Remove support for the legacy "flat" export file structure
Not favoritedFavorited Favorited 5 favourites
Adjust ZIP format of .c3p files to be more robustly recoverable in the event of corruption

Changelog iconBug Fixes

Not favoritedFavorited Favorited 1 favourites
Construct Game Services: improve handling of starting a new sign in with an incomplete previous sign in
Not favoritedFavorited Favorited 2 favourites
WebGPU: some effects did not render with same quality as in WebGL renderer
Not favoritedFavorited Favorited 5 favourites
WebGPU: pasting background-blending effects to Drawing Canvas could appear incorrectly
Not favoritedFavorited Favorited 3 favourites
Button: ensure checkbox scales with font size when 'Auto font size' enabled
Not favoritedFavorited Favorited 2 favourites
Runtime canvas could sometimes be draggable in Firefox (regression r369)
Not favoritedFavorited Favorited 2 favourites
Asset Browser: load icon images as soon as the place holder becomes visible
Not favoritedFavorited Favorited 3 favourites
Asset Browser: ignore system book-keeping files
Not favoritedFavorited Favorited 3 favourites
Timelines: preview of Sprite animation changes not working as expected
Not favoritedFavorited Favorited 4 favourites
Animations editor: transformations not applying to rectangle selection immediately after making it
Not favoritedFavorited Favorited 4 favourites
Animations editor: avoid triggering the selection logic for each animation when multiple are selected at the same time
Not favoritedFavorited Favorited 5 favourites
Animations editor: SVG files failing to load (regression r442)

Changelog iconPerformance Improvements

Not favoritedFavorited Favorited 8 favourites
Text: optimize text layout performance when wrapping large amounts of text
Not favoritedFavorited Favorited 9 favourites
Text: improve performance when dynamically scaling Text objects in auto resolution mode

Changelog iconScripting updates

Not favoritedFavorited Favorited 2 favourites
Fix IRuntime isPixelRoundingEnabled to be settable and update correctly
Not favoritedFavorited Favorited 2 favourites
Tweens: make sure stopping a tween with script API works similarly to corresponding events
Not favoritedFavorited Favorited 2 favourites
Tweens: add a released promise to the scripting API to detect when a tween is destroyed

Share Construct 3 Release r450 Now

  • 16 Comments

  • Order by
Want to leave a comment? Login or Register an account!
  • I understand phasing out the old stuff like SDK v1 to clear the compatibility issue, but I still feel like it's too soon to cut out NW.js - especially when the alternative exports aren't good enough to be complete replacements IMO.

    I've always updated to stables for my main projects, but I'll have to sit this one out when it's released.

  • It is indeed too early to delete the NW.JS exporter now. Some of WebView2 window management features are not yet supported. Maybe they could be added to the browser object. For example:

    * Set Maxmize, minimize, always on top, set window title

    * Window frame (hides the window title bar)

    * Kiosk mode (hides the system bar and prevents accidental exits)

    * Transparent window background.

    Feature requests

    * github.com/Scirra/Construct-feature-requests/issues/465

    * github.com/Scirra/Construct-feature-requests/issues/576

    These are not new features, NWJS already supports them. But Webview2 lacks. I know you have limited development resources and a lot of things to do.

    Of course, you could say that wrapper extensions already support native communication. If you're hands-on, you can write your own extension. But that's unfair to most users without programming skills. Because in the export options of NW.JS, they are there.

  • Remove support for legacy SDK v1 addons. Oh no i cannot use mikal 3d object and lights and shadows anymore !!!

    • Well, yes, there won't be normal integration with normal Steam overlays, there won't be normal animation with Spine, and there won't be adequate 3D.

      What about Godot or Unity? These are currently being actively tested for future projects.

      Let's put it this way, Construct 3 has always been very beginner-friendly, but without these features, it becomes just something very old and outdated.

      Yes, perhaps WEBGPU will be some kind of breakthrough in performance. But if everything continues the same way, it's just a playground for beginners. Don't expect any breakthroughs. It's a shame, I've been with them since Construct 1. But everyone either stays in their beloved summer of the mid-2000s or moves on.

    • We can always stay on older versions. For some projects it's a better option. it's not like they are forcing us to update.

  • Here's an extract regarding NW.JS from a forum post 11 months ago (https://www.construct.net/en/forum/construct-3/general-discussion-7/refocus-export-direction-183136?kws=nw.js)

    Ashley:

    After that (very long term here) I'd want to drop support for NW.js if possible, but that depends on any outstanding compatibility issues. But if our own custom wrappers can do everything NW.js can, and with easier maintenance and better customisability, then I don't think there's any reason to continue supporting NW.js. But anyone using NW.js now shouldn't worry - this is long term speculation, we're going to keep supporting NW.js for a while yet and only switch over if we have new options that cover everything people want.

    Does this mean that there are now 'options that cover everything that people want'?

    If so, it would be useful to have some kind of universal reference table listing the alternative solutions to existing NW.JS functionality.

      • [-] [+]
      • UpvoteUpvote 1 DownvoteDownvote
      • Ashley's avatar
      • Ashley
      • Construct Team Founder
      • 1 points
      • (2 children)

      I feel we have reached the point where the new export options do enough to make the switch. Even if there are a couple of remaining gaps, NW.js is still supported on the LTS channel for another 18 months, which gives plenty of time to fill in remaining smaller details.

      • Theres definetely downsides to both webview and nw.js.

        nw.js takes up much more preformance, causing some computers to overheat with CPU-Intensive games, while webview doesn't cause that to happen

        On the other hand, some plugins or sprites, when exported with webview, break for no reason at all. The same sprites work both in the editor and in the NW.js export, so it would be nice to either fix that, or keep both exports for, as said, a while longer.

        Load more comments (1 replies)
  • 🪦RIP NJWS — we didn't love you, but you were the best we had. 😭

    Strange to have it entirely removed when there's no alternative that's clearly better.

    WebView2 doesn't compete. Doesn't have a standalone export option. Doesn't work with Steam. At its best it's a side grade, and not an upgrade.

  • RIP SDK1

  • unlimited lines of code in Free Edition. PEAK

  • github.com/MicrosoftEdge/WebView2Feedback/issues/4960

    It's been six months and still hasn't been resolved