PlayCanvas is a popular 2D/3D game engine with a full editing environment for creating WebGL accelerated high performance games. PlayCanvas has a proprietary online 3D editor built on top of an open-source game development framework. We have long followed the progress of the PlayCanvas engine, including this multi-part creating your first game tutorial several years back. PlayCanvas just released PlayCanvas 2.5 with the following new features:Updates to material chunks override functionality by@mvaligurskyin#7284Small gsplat init update by@slimbuckin#7286Moved CameraFrame script to ESM folder by@mvaligurskyin#7285Script Types & ESLint by@kpal81xdin#7288Refactor Grid class initialization and set initial values by@marklundinin#7287Refactor first-person controller script by@marklundinin#7289Refactor Camera controls by@kpal81xdin#7291Unified handling of core shader generation defines by@mvaligurskyin#7298Replace skybox shader generator with a ShaderMaterial using few defines by@mvaligurskyin#7301GsplatMaterial interally uses ShaderMaterial to generate variants by@mvaligurskyin#7302WarnOnce in debug mode if material parameter is being set to undefined by@mvaligurskyin#7305Do not log warning when material data contains sheenGlossTint, which was removed by@mvaligurskyin#7306Shader WGSL example split single shader into vertex and fragment by@mvaligurskyin#7310Improve preprocessor to allow for define value injection by@mvaligurskyin#7309View Cube extra by@kpal81xdin#7081Examples build rework by@kpal81xdin#7314Script Destroy by@kpal81xdin#7315VecN/Color array conversion support by@kpal81xdin#7312Examples build static file optimisation by@kpal81xdin#7317Camera controls focus damping by@kpal81xdin#7313Editor example updates by@kpal81xdin#7319Easier to override render pass used by the CameraFrame by@mvaligurskyin#7321Improvements to sRGB support by the Texture by@mvaligurskyin#7323Gizmo rotate updates by@kpal81xdin#7327Improved support for WGSL shaders. by@mvaligurskyin#7320Improvement to internal WGSL shader processing to only replace whole words by@mvaligurskyin#7329Outline renderer supports morphed models by@mvaligurskyin#7333When Texture.srgb is changed, shaders are reevaluated to be recreated by@mvaligurskyin#7336Adds@enableifto Camera Controls Script by@marklundinin#7330Gsplat material creation no longer set undefined parameters on the material by@mvaligurskyin#7339Make Batch.destroy public as its useful for destroying manually created batch groups by@mvaligurskyin#7340There are also several fixes in the 2.5 release. Full release notes are linked below.Key LinksPlayCanvas 2.5 Release NotesPlayCanvas HomepagePlayCanvas GitHub RepositoriesYou can learn more about the PlayCanvas game engine and the 2.5 release in the video below.