Beta versions are not as thoroughly tested as stable

Beta versions are not as thoroughly tested as stable

Beta branch

Construct 3 r499

PBR lighting; transmissiveness; 3D model improvements & more

19 August, 2026 ()

Email Me New Releases

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

Notes

In this release we've changed the lighting model used for 3D lighting. Previously lighting was based on a Phong model, with materials using a 'shininess' factor. We've now changed it to a Physically Based Rendering (PBR) lighting model, with materials using 'metallic' and 'roughness' factors. We considered supporting both lighting models, but PBR looks to be the industry standard right now with better interoperability, and supporting only one lighting model is a significant simplification for the engine. If you still think we should support the older lighting model, we'd be interested to know why, so let us know. This is a breaking change, and projects using actions/expressions relating to the old material properties will not open unless they are removed from the project. However 3D lighting was only introduced in last week's beta release, and beta releases are the place to make any such changes before it reaches a stable release where the backwards compatibility requirements are stricter.

There are other 3D lighting improvements, including a new Transmissiveness property. This affects how much light comes through a 2D object like a Sprite when the light is on the far side. When transmissiveness is 0% the object will appear in complete shadow, whereas when transmissiveness is 100% the object will appear lit up the same as it is on the opposite side facing the light. There's also a fix for 2D objects not being lit up equally on both sides.

This release also has further improvements for 3D models: now you can import or replace multiple models at a time, and the Asset Browser now has support for 3D models via .gltf and .glb files. As ever there's a range of bug fixes, including for 3D models and the 3D editor. Happy testing!

Like this Release?

Let us know with a thumbs up!

UpvoteUpvote 29 DownvoteDownvote
Launch r499

Changelog iconNew Additions

Not favoritedFavorited Favorited 7 favourites
Material property 'Transmissiveness' (amount of lighting shown on opposite side to light)
Not favoritedFavorited Favorited 8 favourites
3D model: support importing and replacing multiple 3D models at a time from the Project bar
Not favoritedFavorited Favorited 6 favourites
Asset browser: support .gltf and .glb files

Changelog iconChanges

Not favoritedFavorited Favorited 8 favourites
Change 3D lighting model from Blinn-Phong to PBR (metallic-roughness)

Changelog iconBug Fixes

Not favoritedFavorited Favorited 5 favourites
Platform: deceleration could incorrectly cause reverse movement (regression r498)
Not favoritedFavorited Favorited 6 favourites
3D lighting not working on back face of 2D sprites
Not favoritedFavorited Favorited 1 favourites
3D editor context menu incorrectly showing on macOS
Not favoritedFavorited Favorited 2 favourites
3D model: 'Load texture from URL' action not taking effect after a previous 'Set mesh action'
Not favoritedFavorited Favorited 3 favourites
3D model: model level transformation properties not restored properly on project load
Not favoritedFavorited Favorited 3 favourites
3D model: crash displaying models that don't use UV data (regression r498)
Not favoritedFavorited Favorited 3 favourites
Project bar: change the names of 3D model import options to better describe what they do
Not favoritedFavorited Favorited 3 favourites
Keyboard shortcuts triggered unexpectedly in some situations (regression r498)
Not favoritedFavorited Favorited 3 favourites
Behaviors/effects dialogs: could show wrong name after a failed rename
Not favoritedFavorited Favorited 3 favourites
macOS WKWebView: was not correctly opening new windows in system browser
Not favoritedFavorited Favorited 3 favourites
macOS WKWebView: disable default 'Escape' key exiting fullscreen

Share Construct 3 Release r499 Now

  • 14 Comments

  • Order by
Want to leave a comment? Login or Register an account!
  • Instead of you having to support multiple lighting implementations out of the box I would love if the effects sdk gets access to lights, normals etc. that way we can implement custom lighting, like cell shading, phong and so on for more stylized games, instead of being forced into only using PBR.

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

      Making the lighting model extensible can be done, but I think it involves a lot more complexity than you might expect. For example Phong and PBR use different material properties, and other lighting models might use other material properties. So it's not just a matter of writing a shader, it also means defining what the material properties are, having the editor display those custom properties, update shader uniforms accordingly, store the material properties with instance data, handle undo for changes, etc. That's not currently possible with the SDK, so supporting that means developing a range of features to cover that.

      • I'm not sure I understand, the effects sdk already supports custom shader parameters. If we get access to the normals and lights we could implement custom (fragment) lighting already with direct-3d-rendering? (some helper functions like you added to wgsl would be awesome too for some common calcs like attenuation etc.)

      • So I guess instead of allowing us to do lighting in effects, you'd rather add a new Material addon type, which has access to lights, normals (maybe even the vertex shader and additional textures for normal maps for example). This way it would always be the first shader and could sidestep the awkwardness with effect stacking, where only the first effect can do certain things.

        That indeed would be more complex to add, but also sounds more robust.

  • This is incredible! Thank you so much for the new lighting and material updates!!!!

  • Hey construct 3, when I copy a 3D model, construct 3 crashes completely. Why?

  • Still haven't tried to make a 3d game yet but all these features make me want to try. 😍😍😍

  • Phong model is primitive comparing to PBR, but it's very performant even on potato gpu.

    As a hand-paint artist who works mostly with diffuse textures I can benefit greatly from having Phong along with PBR.

    On other hand, if Construct 3 in general benefits from single model architecture - then I'm all in for PBR only. Especially if it helps in speeding up GPU skinning implementation.

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

      For a mostly diffuse texture, doesn't PBR with 0% metallic and 100% roughness basically look the same?

      • True, but sometimes I can get away with the very basic shading that Phong can provide and it will still look good with the right diffuse texture.

        Meanwhile, usually, PBR still calculates all of the needed data, even if it's set to values that give visually same results.

        My performance concerns are not critical, it's more like I can imagine some cases where I can win some performance by choosing Phong over PBR, when I try to push for more objects.

        My main reason aside, I feel that old-school 3d graphics are entering their "pixel art" period now. I mean people are trying to achieve psX, ps2, old PC looks. For such tasks having Phong would be pretty cool and very authentic. It kinda has it's own vibe and looks slightly different to PBR.

  • Now I can’t get everything set up the way it was in r498.

    In my case, it looks really bad :(

  • Next Ambient light :)