Beta versions are not as thoroughly tested as stable

Beta versions are not as thoroughly tested as stable

Beta branch

Construct 3 r226

JavaScript Modules for scripting; scene graph improvements; preview improvements & more

24 November, 2020 ()

Email Me New Releases

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

Create an Account

Notes

It's the start of a new beta release cycle! We have loads of new things for you in this release. First of all the JavaScript coding feature now supports modules! This is a significant overhaul of how the scripting feature works, updating it to use the new, modernised and standardised modules feature in JavaScript. In short this allows you to use import and export syntax in your JavaScript files, allowing you to better organise your script files, write clearer code, control the precise order scripts are loaded, and avoid pitfalls of using lots of global state. For backwards compatibility existing projects will continue to use the old mode, referred to as classic mode. You may need to make some changes to your code to update to modules. For a guide, see the tutorial Upgrading projects from classic scripts to modules. You should do this soon since classic mode is deprecated and in future will be removed in favour of modules.

Related to that is another significant change to local and remote preview: now local project files can be served from network requests. For example if you created an iframe and loaded a HTML project file, and then the iframe tried to load myimage.png, it would request preview.construct.net/myimage.png and return 404 Not Found. Now we've updated preview to be able to serve the project file correctly. Amongst other things, this allows iframes showing local project files to work correctly in preview, and is also a key part of allowing JavaScript Modules to work in preview. This is supported via upgraded Service Workers which intercept network requests locally - so your project contents are still not uploaded to our server, ensuring previewing is fast and your project files remain private as they are only stored on your system.

We've also continued to improve the relatively new scene graph feature. Now you can create entire scene graph hierarchies at runtime with the new Create hierarchy option in the Create object, Spawn an object and Recreate initial objects actions. This means you can now use the scene graph editing features to set up a complex hierarchy in the Layout View, and then conveniently create that entire hierarchy at runtime with a single action - just create the root instance and tick the Create hierarchy checkbox! For the editor, there's now also a select mode property for root scene graph objects like there is for containers, allowing you to set it to automatically select (and wrap) the whole hierarchy, making it easier to treat the hierarchy as a single object in the editor.

Finally as ever there's a few other changes and improvements, and a big batch of bug fixes - see the changelog below for full details. Happy testing!

Like this Release?

Let us know with a thumbs up!

59
Launch r226

New Features

17 favourites
Scripting support for JavaScript Modules

New Additions

13 favourites
Scene graph: add a 'Select mode' property to root instances
15 favourites
Scene graph: 'Create hierarchy' option for actions that create objects
10 favourites
Network requests in local & remote preview now can serve project files
8 favourites
iframe: displaying local project file HTML now previews correctly
15 favourites
Animations editor: support mathematical expressions in image point and collision polygon inputs

Changes

14 favourites
Drag & drop behavior: only drag via left mouse clicks instead of any click
9 favourites
Updated cordova-ios to v6.1.1

Bug Fixes

5 favourites
UI state: avoid saving state that causes unexpected layout after restart
8 favourites
UI state: tabs outside the main pane not restored when opening a project
4 favourites
Animations editor: prevent setting negative values when modifying collision polygon vertices
5 favourites
Animations editor: ESC key not working if focus is on the main panel (regression r225)
6 favourites
Scene graph: 'remove all children' context menu option was not working
5 favourites
Scene graph: possible crash using the 'remove from parent' context menu option
7 favourites
Tilemap bar: tools not working properly when used on a layout opened in a popup window
5 favourites
Tilemap bar: toolbar buttons not working when detached to a popup window (regression r218)
4 favourites
Z Order bar: crash attempting to open the bar in the mobile
6 favourites
iframe: did not always handle query strings correctly when loading local project file
4 favourites
Audio: convolution effects did not always work in Safari
5 favourites
Layout View: could incorrectly show resize/rotate cursors over other parts of UI
3 favourites
Share plugin: could not always share files in iOS apps

Performance Improvements

21 favourites
Improve preview startup time
14 favourites
Adjust frame scheduling to allow maximum possible time to run events/logic (reland)

Scripting updates

8 favourites
Update all scripting examples to use modules
8 favourites
Fix boolean instance variables not using boolean type

Share Construct 3 Release r226 Now

  • 55 Comments

  • Order by
Want to leave a comment? Login or Register an account!
  • The "create hierarchy" action is a massive improvement - much appreciated! Tested it and it's exactly what is needed. This will completely change the way I do multi-part UI elements. Seriously, this is fantastic!

  • Awesome game engine keep going

  • Is there a function planned for automatically updating project scripts when changes are made from outside? I probably already clicked the "Reload scripts from folder" button a million times in total, since I write in TypeScript and can only work with an external editor.

    • I was wondering the same 😅

      This: construct3.ideas.aha.io/ideas/C3-I-1632

      (there is a gist link there that registers 'F8' as a hotkey to reload scripts)

  • Can you tell us more about performance improvements? I mean by how much (or anything for comparison with old one)

  • NM, just saw your post :)

  • After this update, my export debug apk on android did not work. I tried to export several times but none of the installations worked, they all freezed on loading screen.

    • I have the same problem with beta version r226 doesn't work on some huawei devices

      • [-] [+]
      • 0
      • Ashley's avatar
      • Ashley
      • Construct Team Founder
      • 0 points
      • (6 children)

      If you run in to any problems, please file an issue following all the guidelines.

      • Dear Ashley!

        ---

        Please pay attention to the fact that many users HIGHLIGHT and tell you that it is a little inconvenient to post bugs or errors somewhere on the side.

        That is, as you noticed, many would like to write about errors without bothering to find and find solutions. You could make a special section right on the site so that we can post information for you with ease in one click.

        To make it easier to send you bug reports.

        I apologize in advance to those who think we are lazy fools, forgive us.

        But we still exist, and we are still using the constructor engine, and we enjoy working with you! This is a great engine! Let's make it even better! Is it so hard to make a special button in each update to write to you as if we were writing to you via mail.

        It's great when you acknowledge that not all users go to GitHub and post bugs there.

        I think you know that we are all on the same boat, and you are driving the boat, please listen to what your passengers are saying to you.

        Load more comments (1 replies)
      • Dear Ashley I'm an amateur hobbiest developer, not a volunteer or a professional tester. I don't have enough knowledge and enough time to use github. That's Why I use a paid development engine instead of free ones.

        Load more comments (3 replies)
  • "Fix boolean instance variables not using boolean type"

    Hi, after hours of debugging on why my existing projects don't work correctly anymore with the new releases.

    And reverting to the earlier versions didn't work either, because:

    1. Older releases do not support addons with modules support and setting them to classic results in a blackscreen preview.

    2. Older releases do not support modules, causes crashing out of memory.

    I finally found out after hours of constrained debugging that the changing of the boolean type in scripting caused a barely traceable compatibility issue.

    Code like '(bool === 1 || bool === 0)' doesn't work anymore, but Construct 3's scripting variables were previously written for the number type, not boolean type.

    It won't show an error, but it can make your application malfunction.

    Just a warning for those who have their projects not working correctly anymore and have had object instance variables referenced in their project.

  • um help i cant find the games i loged in so now i have an acount. all it whats me to make a game but i whant to play a game.

  • In this R226 I have a problem with audio. At the start of layout all sounds effects works great, but after a few minutes most of the sounds stop working. I try the release r255 and works great!

  • I'm developing a game for steam, and this last version, is not opening the game compiled for PC anymore

  • Load more comments (30 replies)