Engine v2.23.0

Engine v2.23.0 has been released.

This release is available as an RC build in the Editor, please test your projects and report any issues. We’re planning to promote this version to be the default version in the Editor on or after Wednesday 7 October 2026.

New engine examples:

  • Inspector - See under the hood of your PlayCanvas application

  • Texture Renderer - Debug previews of color and depth textures on screen with TextureRenderer

  • Lights Non Clustered - Omni, spot and directional lights on the forward lighting path with clustered lighting off (WebGL 2 only)

  • Rendering Without Entities - A ground plane and an instanced forest rendered directly through a layer, with GraphNodes in place of entities

  • Sprite Colors - 100 jellyfish sprites, each changing its own color, opacity, transform and animation frame

  • Mesh Collider Scaling - Mesh colliders at different scales sharing one torus mesh, including one rebuilt live as its scale animates

  • Anchors - A resizable in-game chat window laid out with element anchors

  • Buttons - A game main menu with tint and sprite-frame button transitions, an inactive state and an enlarged hit area

  • Common Widgets - A settings screen with a slider, toggle, radio group, progress bar and modal dialog

  • Drag And Drop - Gear dragged into equipment slots with ElementDragHelper, with slots lighting up when they accept the item

  • Image Fit - A level select screen showing Cover and Contain image fitting, plus texture rects

  • Input Events - A HUD over a tappable map, showing how to stop UI presses from reaching the game

  • Render To Image - A character card with a live 3D portrait rendered to a render target and shown in an image element

  • Screen Scaling - A mobile HUD designed at a 1280×720 reference resolution, comparing the screen scale modes

New user manual pages:

  • Inspector - Inspect a running application’s entities, cameras, assets, frame graph, GPU resources, scripts and shaders in a debug panel, and step through the draws of a frame

  • Environment Lighting - How the scene skybox and material environment maps light physical materials, which one is used when, and which settings affect reflections, ambient light and refraction

  • Rendering Without Entities - Render meshes directly through layers using named GraphNodes, persistent MeshInstances and hardware instancing

  • Device Loss and Recovery - Handle WebGL context loss and WebGPU device loss, restore GPU-generated data, and test recovery

  • Built-in Shader Uniforms - Engine-provided camera matrices and parameters, screen and viewport dimensions, and XR view index for custom forward shaders

  • Shader Parameters - Set the values of shader uniforms on a material, on a mesh instance, or globally on the graphics device

  • Profiling with AppStats - Read frame, CPU, GPU, draw call, primitive and GPU memory statistics from app.stats for profiling scripts, reports and automated comparisons

To stay updated on Engine development, hit Watch on the repo. Support us by hitting Star too!

6 Likes

Patched to Release v2.23.1 · playcanvas/engine · GitHub

1 Like

Patched to Release v2.23.2 · playcanvas/engine · GitHub

1 Like