Skip to content

Release v0.24.0 - #1375

Merged
untoldengine merged 2 commits into
developfrom
release/0.24.0
Oct 19, 2026
Merged

untoldengine merged 2 commits into
developfrom
release/0.24.0

Conversation

@untoldengine

@untoldengine untoldengine commented Oct 19, 2026 •

Copy link
Copy Markdown
Owner

Summary

Release v0.24.0. Headlined by a headset rendering overhaul (foveation, TAA, a forward path, and RealityKit-matched colour in mixed-immersion spaces), plus a root-level project layout, asset-resolution and scene-restore fixes, and starter-asset re-hosting.

🚀 Features

  • Headset rendering: foveation, temporal anti-aliasing, a forward path, and RealityKit's look in a mixed space (Headset rendering: foveation, temporal anti-aliasing, a forward path, and RealityKit's look in a mixed space #1359) — the biggest change in this release:
    • Foveated rendering: the stereo path now draws through visionOS's compositor rasterization rate maps, so SSAO and occlusion culling (mesh, Gaussian chunk, per-splat) stay correct when foveation is on.
    • TAA is back in the engine (.taa / .msaaTaa), with variance clipping, Catmull-Rom history sampling, motion-vector-driven reprojection, and rate-map-aware history weighting. (This reverses the 2026-06-03 TAA removal — SMAA remains available alongside it.)
    • A new forward render path (selectable via a render-path setting: deferred / hybrid / forward), with per-fragment opaque lighting and a new motion-vector write from the opaque pass.
    • RealityKit-matched look: P3 primaries option in the look pass, a "none" tone map for mixed-immersion scenes, and a room-light probe that fades between estimates instead of switching, matching how the passthrough room is lit.
    • GPU-measured per-pass timing added to engine stats.
  • Root-level GameData/Resources/Docs project layout ([Project Layout] Root-level GameData/Resources/Docs project layout #1345) — new projects get GameData, Resources, and Docs at the project root instead of nested under Sources/<Project>/. Adds a ProjectLayout type consolidating 5 duplicated path-shape implementations, an untoldengine convert command to migrate existing projects (with rollback on partial failure), and a fix for findGameDataDirectory silently resolving to the wrong layout when both legacy and root-level GameData exist mid-conversion.

🐞 Fixes

📚 Docs

🧹 Chores

  • Warn at build time when Metal kernel sources are stale (Warn at build time when Metal kernel sources are stale #1357) — a new build-tool plugin hashes UntoldEngineKernels.metal and its includes against a stamp buildkernels.sh writes, surfacing a build warning instead of silently running tests/apps against a stale .metallib.

Test plan

  • swift test / renderer suite green on macOS and visionOS targets
  • Manual check of TAA and foveated rendering on a Vision Pro device/sim across deferred, hybrid, and forward paths
  • Verify scene restore with a custom HDR after the [Bugfix] Fix HDR/IBL validation falling back to stale directory on scene restore #1367 fix
  • Verify untoldengine convert on a legacy-layout project, including the rollback path on a forced failure
  • Confirm untoldengine assets install pulls from the new GitHub Release manifest

@untoldengine
untoldengine merged commit 65bf056 into develop Oct 19, 2026
3 of 4 checks passed
@untoldengine
untoldengine deleted the release/0.24.0 branch October 19, 2026 13:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant