Beta versions are not as thoroughly tested as stable

Beta versions are not as thoroughly tested as stable

Beta branch

Construct 3 r380

PWA installs; WebGPU updates; several additions; loads of bug fixes

20 February, 2024 ()

Email Me New Releases

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

Notes

It's the start of a new release cycle and we have a huge update for you this week! It's hard to summarise all the changes (see the full list below), but a key highlight is you can now use Progressive web app (PWA) installation with the Browser object. While all web exports from Construct are already PWAs, this allows you to use the same 'Install as app' feature that Construct itself provides, prompting the user to create an icon on their desktop/home screen. It's currently only supported in Chrome and Edge. There's also a new ability to add screenshots in the Project Bar, which is intended for PWA installation: if you add at least one screenshot in both the wide and narrow form factors, you'll get the richer install UI for your PWA.

We've also done a lot of work on the WebGPU renderer. By now we think it is close to complete in terms of having similar features and reliability to WebGL, and soon we may start enabling it by default. While we were working in the rendering engine, we also added a new option for effects to opt-in to direct rendering with 3D objects, which potentially provides new capabilities for 3D shaders. The GPU profiler in the debugger now also includes both the self and total time for layers, which is useful when using sub-layers.

There's loads more, including new additions based on feature requests in all sorts of places, including Find All References, the Timer behavior, and the Touch plugin. We've also added autocomplete for animation frame tags to help make it easier to type them in event sheets. There's an absolute boatload of bug fixes and other changes and improvements, notably including that worker mode is now disabled by default again in Safari due to Safari bugs that cause problems with it. Happy testing!

Like this Release?

Let us know with a thumbs up!

UpvoteUpvote 39 DownvoteDownvote
Launch r380

Changelog iconNew Features

Not favoritedFavorited Favorited 18 favourites
Browser object: Progressive Web App (PWA) installation

Changelog iconNew Additions

Not favoritedFavorited Favorited 13 favourites
New examples 'Chess board designer', 'Classic raycaster', 'Family tree'
Not favoritedFavorited Favorited 9 favourites
Project Bar: 'Screenshot' image purpose under 'Icons & screenshots'
Not favoritedFavorited Favorited 9 favourites
Context menu option for Tilemap instances to open Tilemap bar
Not favoritedFavorited Favorited 15 favourites
Find All References: 'Show ambiguous' setting
Not favoritedFavorited Favorited 13 favourites
Timer behavior: 'Pause/resume all timers' action
Not favoritedFavorited Favorited 13 favourites
Touch: start/end parameter for 'On touched object'
Not favoritedFavorited Favorited 11 favourites
ShadowLight: 'Set light position' action
Not favoritedFavorited Favorited 11 favourites
Sprite: allow passing tag to 'Set repeat-to frame'
Not favoritedFavorited Favorited 13 favourites
Add autocomplete for animation frame tags in relevant Sprite conditions/actions
Not favoritedFavorited Favorited 19 favourites
WebGPU: support for GPU profiling
Not favoritedFavorited Favorited 12 favourites
Debugger: add 'Self time' column to GPU profiler

Changelog iconChanges

Not favoritedFavorited Favorited 8 favourites
Enable WebGPU for Android exports
Not favoritedFavorited Favorited 4 favourites
Android exports: remove 'External storage write' permission, as it is no longer used on Android 11+
Not favoritedFavorited Favorited 7 favourites
SpriteFont: default invalid colors to white
Not favoritedFavorited Favorited 5 favourites
Windows WebView2: update WebView2 SDK to v1.0.2277.86
Not favoritedFavorited Favorited 2 favourites
Disable worker mode in Safari due to Safari bugs

Changelog iconBug Fixes

Not favoritedFavorited Favorited 5 favourites
Project Bar: possible crash if copying too much data to clipboard
Not favoritedFavorited Favorited 3 favourites
Project Bar: fix a link to the flowcharts section of the manual
Not favoritedFavorited Favorited 4 favourites
Import audio: could not import tagged FLAC files
Not favoritedFavorited Favorited 5 favourites
Properties Bar: did not always correctly apply min/max values
Not favoritedFavorited Favorited 5 favourites
Properties Bar: incorrect initial animation could be shown while editing timelines
Not favoritedFavorited Favorited 7 favourites
Data editor: pasting content from Microsoft Excel produced unwanted results
Not favoritedFavorited Favorited 4 favourites
Text editor: possible crash closing a text file after making changes
Not favoritedFavorited Favorited 3 favourites
Flowcharts: delete options not working as expected in some situations
Not favoritedFavorited Favorited 3 favourites
Timeline bar: give same feedback as Project Bar when opening/closing folders
Not favoritedFavorited Favorited 4 favourites
Timeline bar: ensure adding behaviour/effect properties generates unique subfolder names
Not favoritedFavorited Favorited 4 favourites
Timelines: possible crash pasting timelines
Not favoritedFavorited Favorited 8 favourites
Timelines: Z elevation not previewed correctly in the editor
Not favoritedFavorited Favorited 8 favourites
Hierarchies: parents with a size of 0 where not producing useful results
Not favoritedFavorited Favorited 7 favourites
Hierarchies: arrows sometimes not drawn correctly with global layers
Not favoritedFavorited Favorited 5 favourites
Hierarchies: some hierarchies not restored properly from JSON
Not favoritedFavorited Favorited 4 favourites
Tweens: tween state not restored properly when using 'Set from JSON string'
Not favoritedFavorited Favorited 4 favourites
Tweens: runtime crash restoring value tweens from JSON
Not favoritedFavorited Favorited 5 favourites
Tweens: looping sale tweens producing unexpected results
Not favoritedFavorited Favorited 5 favourites
Tweens & Hierarchies: size/opacity tweens modifying hierarchy instances not restored properly from JSON
Not favoritedFavorited Favorited 6 favourites
Tweens & Hierarchies: angle tweens not producing expected results when modified by mirrored/flipped parent
Not favoritedFavorited Favorited 6 favourites
Tweens & Timelines: loop and ping-pong accumulating error over time
Not favoritedFavorited Favorited 6 favourites
Particles: sometimes not restored properly when loading JSON
Not favoritedFavorited Favorited 6 favourites
Drawing Canvas: possible jittery rendering when viewed in 3D
Not favoritedFavorited Favorited 7 favourites
Improve precision of log10 expression
Not favoritedFavorited Favorited 6 favourites
Background-blending effects did not always render correctly on rotated layer/layout
Not favoritedFavorited Favorited 6 favourites
Mesh distortion with effect did not always render consistently between editor/runtime
Not favoritedFavorited Favorited 6 favourites
'Polka dot' effect dot size could change depending on spritesheet size
Not favoritedFavorited Favorited 8 favourites
WebGPU: possible error rendering effects with some objects
Not favoritedFavorited Favorited 8 favourites
WebGPU: possible incorrect rendering of Particles in some specific circumstances
Not favoritedFavorited Favorited 7 favourites
WebGPU: Lens2 and bumpmapping effects not rendering equivalently to WebGL
Not favoritedFavorited Favorited 7 favourites
WebGPU: ensure swirl effect rotates clockwise
Not favoritedFavorited Favorited 8 favourites
WebGPU: ensure proper handling of device loss

Changelog iconPerformance Improvements

Not favoritedFavorited Favorited 13 favourites
Optimize rendering of 3D objects with certain kinds of effects

Changelog iconSDK updates

Not favoritedFavorited Favorited 10 favourites
Effects can now specify "supports-3d-direct-rendering" to skip pre-draw with 3D objects
Not favoritedFavorited Favorited 10 favourites
WebGPU: define f16or32 type for shaders (which is f16 when supported)

Changelog iconScripting updates

Not favoritedFavorited Favorited 8 favourites
Add IShadowLightInstance.lightX/Y
Not favoritedFavorited Favorited 8 favourites
Add ITimerBehaviorInstance.setAllTimersPaused()
Not favoritedFavorited Favorited 8 favourites
TypeScript: fix type definition of IWorldInstance.effects
Not favoritedFavorited Favorited 8 favourites
Add I3DCameraObjectType.rotateCamera()

Share Construct 3 Release r380 Now

  • 13 Comments

  • Order by
Want to leave a comment? Login or Register an account!
  • Thanks for all the QoL additions! Those really add up.

  • Wonderful news on opt-in to direct rendering with 3D objects! This will allow us some interesting effects with 3D shapes and objects.

    We need one more thing for 3d shape fragment lighting.

    Can you please add a varying output to the default vertex shadet, just passing through aPos, so we know the world position of the fragment.

    So please add in webgl2 vertex shader: out highp vec3 pos; and in main(): pos = aPos. Also, please do the equivalent for webgl and webgpu. This will get the frag shader the world coordinates needed for world based frag lighting.

    If the following shader does not use pos, it will allow the shader compiler too compile it away. Even if it does not compile it away, it would seem to have small impact.

    I will also add this to the c3 2024 suggestion platform.

    Thank you for the consideration and great beta release.

  • I love the huge amount of bug fixes and am very intrigued by the direct 3D rendering option!

    • So we have to define it in the addon.json and then should handle the depth writing ourselves (i.e. discard pixels) I guess? Sounds very useful!

      (I always wish there was some temporary documentation for some beta features so it's easier to test)

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

        Add "supports-3d-direct-rendering": true to addon.json and the effect compositor will not force a pre-draw. There could be other cases where it forces a pre-draw though, it depends on the effect.

        Load more comments (1 replies)
  • Thanks a lot for litteraly double-release :)). I appreciate the endless passion and persistence in development.

    • [-] [+]
    • UpvoteUpvote 2 DownvoteDownvote
    • tha's avatar
    • tha
    • 2 points
    • *
    • (0 children)

    I love update. this big update. thank you :D

  • Thank you for so many changes and the on object touch end action! Seeing WebGPU finally arrive on android is awesome too, I‘m excited to see how it performs :)

  • Woah, that's an update and a half! I especially love the DX improvements, please keep 'em coming :)

  • Nice "touch" option.

  • Wohoo \o/ very excited about my PWA install suggestion already getting implemented.

    I didn't even know about the "richer install UI" stuff, looks really good.

  • Huge bugfix batch!