Download Latest Version ezEngine Release March 2026 source code.tar.gz (75.5 MB)
Email in envelope

Get an email when there's a new version of ezEngine

Home / release-26.3
Name Modified Size InfoDownloads / Week
Parent folder
ezEngine.Release.26.3.0.zip 2026-03-06 348.7 MB
ezEngine Release March 2026 source code.tar.gz 2026-03-06 75.5 MB
ezEngine Release March 2026 source code.zip 2026-03-06 81.9 MB
README.md 2026-03-06 15.2 kB
Totals: 4 Items   506.1 MB 3

Highlights

Editor Improvements:

  • The scene tree search now matches against component types, so searching for "light" finds all objects with any light component. (#1692)
  • The asset browser has a new "Delete & Replace" option that removes an asset and substitutes all its references with another asset. (#1784)
  • A new "Export with Dependencies" option in the asset browser copies an asset and all its dependencies to a target folder. (#1772)
  • Added Windows jumplist integration for quick project access from the taskbar. (#1730)
  • The editor now auto-saves open documents every 5 minutes by default. (#1719)
  • Window layouts can be saved and restored across up to 3 slots via the Panels menu. (#1831)
  • Camera movement keys now work correctly on non-QWERTY keyboard layouts. A search box was also added to the Shortcuts dialog. (#1688)
  • Dynamic enum properties now show a searchable popup menu instead of a plain combobox. (#1694)

Rendering:

  • Reflection probe shading now correctly applies the environment BRDF including the Fresnel term, fixing the appearance of reflective materials at grazing angles (most visible on water surfaces). (#1774)

Reflection probe BRDF fix

  • Per-instance render data (transforms, colors, etc.) is now collected during extraction instead of rendering. This allows data reuse across passes, reduces render thread overhead by up to 3×, and enables batching of skinned meshes. It also enables passing custom instance data to shaders. (#1713)

  • The TonemapPass now exposes a WhitePoint property. (#1657)

Animation:

  • Animation updates are now processed multi-threaded, delivering a substantial performance improvement for scenes with many animated characters. In a test scene with 900 characters running complex animation graphs, this change improved FPS by more than 5x. (#1829)

https://github.com/user-attachments/assets/a703b6cb-c806-4db1-a570-a73720339c1e

Splines:

  • Added a full spline component that replaces the older path component. Spline sampling is exposed to script, and custom manipulators allow inserting control points and editing tangents interactively. (#1663)

https://github.com/user-attachments/assets/ca181da9-c790-4b75-900f-610e032451ed

Spline meshes

https://github.com/user-attachments/assets/726c7bae-3312-4429-9993-2194d8fbb49b

  • Procedural generation now supports spline volumes for use with vertex color generation and placement, alongside existing box and sphere volumes. Box volumes also gained asymmetric falloff support, and new script functions allow closest-point queries and local/global space transforms on splines. (#1686)

spline-volume

Particles:

Custom particle shaders

  • When a mesh particle renderer references a mesh with multiple sub-meshes, sub-meshes are chosen randomly per particle, enabling mesh variety within a single effect. (#1726)
  • Color gradients can now be edited inline as a particle property. (#1742)

Water & Volumes:

  • A new Jolt water volume component provides buoyancy forces to submerged dynamic actors, with a per-actor float/sink factor and optional splash effects. (#1808)

Water volume

  • A new generic volume sampler component reads arbitrary values from volumes and exposes them via script or C++. Values can fade at volume borders and interpolate over time. An example scene demonstrates driving global fog properties per-area with this component. (#1787)

  • A fog start distance parameter was added, allowing dense fog settings that don't obscure nearby objects. (#1698)

RML UI:

  • RmlUi was updated to version 6.2 with fixes for SVG rendering and stencil clipping. New additions include UI event messaging, integration with the ez localization system and blackboard data binding with array support. (#1813)
  • RML UI can now be rendered onto a 3D mesh in world space, with interaction support via raycast input. (#1704)
  • RML UI assets hot-reload when a dependent CSS file or template changes. (#1655)
  • Added VS Code integration for editing RML files and an option to create RML files from the file property widget. (#1651)
  • The RTS sample UI was fully converted to RML UI, demonstrating UI scaling, a default RML stylesheet, and an ESC main menu. (#1700)

RTS sample UI

Visual Shader Editor:

  • VSE node titles now display contextual details such as which texture is being sampled or which value is used in an operation. (#1738)

VSE node titles

  • Color gradient assets can now be referenced directly as textures in materials; a 1D texture is generated automatically from the gradient. (#1712)
  • VSE node documentation comments were added to improve discoverability. (#1645)

Visual Scripting:

  • Visual script variables now support typed arrays, min/max clamping for numeric variables, and storing GameObject/Component references as internal variables for caching. (#1658)

In-Game Console:

  • The Quake-style in-game console was replaced with an ImGui-based console that supports CVar tweaking, log filtering, basic stats (time and memory usage), and pinnable stats/log overlays. (#1668)

ImGui console

Tracing & Profiling:

  • A cross-platform tracing system was added supporting ETW TraceLogging on Windows, LTTNG-UST on Linux, and Perfetto SDK on Android. Macros EZ_TRACE_EVENT, EZ_TRACE_SCOPE, EZ_TRACE_ASYNC_BEGIN, and EZ_TRACE_ASYNC_END are available. A Capture-Trace.ps1 script is included for Windows. (#1815)

Asset Processing:

  • Background asset processing time was reduced significantly (from ~185 s to ~33 s in a test project). (#1788)
  • The Asset Curator panel now includes a timeline widget showing a per-processor time-axis view of asset processing jobs. (#1769)

Asset processor timeline

Procedural Generation:

  • A new high-quality placement mode fires additional raycasts around the hit position to validate placement and compute a smoother surface normal, avoiding placements on overhangs or other unsuitable surfaces. (#1681)

Input:

  • Multiple physical controllers can now map to the same virtual controller. All controllers default to virtual controller 0, simplifying single-player setups. Controller usage detection was added for games that need dynamic remapping. (#1680)

C++ & Build:

  • Custom game plugins now automatically link against all plugin DLLs referenced in the editor, removing the need for manual dependency configuration. (#1761)
  • Added support for Visual Studio 2026. (#1714)
  • Required Vulkan sources were moved into the ThirdParty folder, simplifying setup. (#1711)
  • CTest support was enabled for running all unit tests. (#1662)

Samples:

  • Added a Basic NPC AI example to the Al-bot character, demonstrating attacking, chasing, and searching behavior using the navigation system. (#1623)

Documentation

The following pages are new or have been notably improved for this release:

Splines:

Water & Volumes:

RML UI:

Particles:

Procedural Generation:

Rendering:

Visual Scripting:

Tracing & Debugging:

Editor:

Shipping:

All Changes

See the Release 26.3 milestone for the full list of closed issues and pull requests.

Contributions

This release contains contributions by:

Source: README.md, updated 2026-03-06