Beta versions are not as thoroughly tested as stable

Beta versions are not as thoroughly tested as stable

Beta branch

Construct 3 r419

Hierarchy ready event; File System updates; WebGPU updates & more

10 December, 2024 ()

Email Me New Releases

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

Create an Account

Notes

This week's beta release adds a new On hierarchy ready trigger, and a corresponding "hierarchyready" script event. These both fire for the root instance in the hierarchy only, after 'On create' has finished for all children in the hierarchy. This should make it easier to handle complex hierarchy initialization cases.

The File System plugin has been updated to support picker dialogs on macOS WKWebView. Previously these were not supported as WKWebView is based on Safari, which does not support the File System Access API - however to ensure consistency across platforms, we've now implemented the functionality using our wrapper extension system.

We've also done some more work on the WebGPU renderer. A key feature of the new WebGPU renderer was the ability to use multi-texturing, so it can bind up to 14 textures at a time, minimizing texture swapping. However this feature has an impact on fill-rate, and this can be particularly significant on mobile. Therefore to better manage the performance trade-off, you can now turn multitexturing on or off, or leave it on its default 'Auto' mode, which is on for desktop systems but off on mobile.

Other improvements include more cursor styles in the Mouse object, some other scripting and SDK updates, and some bug fixes. Happy testing!

Like this Release?

Let us know with a thumbs up!

37
Launch r419

New Additions

14 favourites
'On hierarchy ready' trigger
5 favourites
File System: support for picker dialogs in macOS WKWebView exports
7 favourites
Mouse: update 'Set cursor style' action to support more cursor styles
8 favourites
Project property 'Enable multitexturing' (for WebGPU)

Changes

2 favourites
Windows WebView2: revert change to rendering mode in r418 due to bugs
4 favourites
Disable WebGPU on Adreno 7XX devices to avoid display corruption bug

Bug Fixes

2 favourites
File System: 'Shell open' always triggered an error on macOS, even if successful
5 favourites
Animations editor: crash saving the current image (regression r417)

Performance Improvements

8 favourites
WebGPU: optimize fill rate when a single texture in use

SDK updates

5 favourites
Add support for "combo-grouped" parameter type
4 favourites
Fix TypeScript definition for getObjectClassBySid()

Scripting updates

5 favourites
Instance, object class and runtime events "hierarchyready"
6 favourites
Add IRuntime properties loadingProgress, imageLoadingProgress

Share Construct 3 Release r419 Now

  • 6 Comments

  • Order by
Want to leave a comment? Login or Register an account!
  • bien al fin arreglaron la falla de guardar sprite , es muy util al hacer un icono para el juego y guardarlo en la pc, pero ese error no dejaba guardar .. gracias contruct

  • On hierarchy ready triggers are a great addition

  • I like the new on hierarchy ready trigger. But I would have personally prefered if it triggers for any instance even if it's not in a hierarchy or is a leaf node (just triggers instantly). Because now we potentially need more complex initialization triggers assuming the object may be created with or without a hierarchy in some cases.

    If it would triggers for all cases we could just replace the on created with on hierarchy ready and we would be good.

      • [-] [+]
      • 1
      • Ashley's avatar
      • Ashley
      • Construct Team Founder
      • 1 points
      • *
      • (1 child)

      It does trigger for single instances - an instance without any children still counts as the root of a hierarchy, as it has no parent, and so 'On hierarchy ready' still triggers for it after 'On created'. It doesn't trigger for children, as then we have to decide what sequence to trigger in: top-to-bottom, bottom-to-top, or some other sequence, and whatever we choose, someone will need some other sequence. Therefore it only triggers for the root of the hierarchy, and you can then initialize children in whatever sequence is best for your project.

      • I am not a fan, this doesn't solve the problem to me then.

        The issue is that the root node may not be known and will change all the time because I am using hierarchies often as modular pieces that can then be attached to other hierarchies. I for example have the same hierarchy once used on its own but in another case I add it as a child to an anchor object, so the on hierarchy ready is not useful again. Cases like these are everywhere as a hierarchy might be a module that is used inside other more complex hierarchy and I want the same init logic to work.

        If it was called in reverse tree order (from leaf to root) the rule all children of the node the trigger ran on had their init already will be true.

  • hierarchy is now more and more widely used. Almost all complex objects use hierarchy to create many subobjects. In multiplayer games, subobjects don't seem to be supported yet.In multiplayer, when sync objct, can automatically sync all its child objects?