Back to updates

ENGINE UPDATEJuly 23, 2026
Engine Update Release Notes: July 23rd, 2026
ENGINE UPDATE RELEASE NOTES: July 23rd, 2026
This update makes movement and physics smoother, improves how the engine renders lighting and fog, and makes the AI-assistant tools more reliable. It also fixes a range of bugs across the editor and adds two breaking changes for animation configs and joystick settings.
Engine
- Vehicle tuning options. VehicleMovementComponent gained opt-in top-speed caps, high-speed steering reduction, and per-wheel brake/friction/power-share tuning for more realistic, tunable vehicle handling.
- Virtual-joystick customization API. New customization API on InputManager (per-stick zone, position, size, color, and enable-mode overrides) so games can skin, reposition, or disable on-screen touch controls.
- Fog and WebGPU environment nodes. Scene environment data now supports fog and WebGPU/TSL-authored background/environment nodes, so shader-graph fog and sky setups can drive a scene instead of only classic texture-based environments.
- GPU timing in profiler. The performance profiler now captures GPU-side timing scopes in addition to CPU, with clearer default labels and frame-size annotations.
- Clustered lighting on WebGPU. WebGPU rendering switched from tiled to clustered lighting, improving how scenes with many lights are lit and perform.
- Browser runtime as its own export. The browser runtime is now published as its own export with its WebAssembly file alongside it, fixing import resolution for bundlers like Turbopack.
- Fix GTAO near-camera artifacting. Ambient occlusion (GTAO) now clamps its screen-space radius near the camera and defaults to half-resolution instead of full-resolution, fixing near-camera artifacting and improving default performance. Projects relying on the old full-resolution default should set resolutionScale explicitly if needed.
- Fix dedicated-server replication corruption. Fixed a bug where stale/duplicate "actor spawned" acknowledgements from a client (e.g. after relevance loss and re-spawn) could corrupt replication state.
- Fix dropped physics events under substepping. Rapier physics could silently drop collision/trigger begin/end events on frames with multiple substeps (e.g. after a lag spike); events now accumulate correctly across all substeps. Rigid bodies also now derive mass/inertia from the actual collider instead of a default point mass, fixing unrealistically easy tipping on dense bodies.
- Fix ray-cast vehicle instability. Fixed ray-cast vehicle simulation instability (physics ordering, wheel raycasts hitting other dynamic bodies, axis convention, wheel spin direction) and clamped control input so large frame deltas can no longer produce runaway negative brake force.
- Fix NPC waypoint skipping. Fixed NPCs occasionally skipping the final waypoint of a path and cutting through thin walls between waypoints; added getRandomReachablePoint() for sampling random reachable navmesh locations.
- Fix non-QWERTY key misfires. Keyboard input is now tracked by physical key code instead of localized key value, fixing misfires on non-QWERTY layouts.
- Fix animation crossfade contamination. Fixed a crossfade bug where a paused/finished one-shot animation state could keep contributing weight to the pose and contaminate later blends.
- Fix WebGPU navmesh and postprocess crashes. Fixed a crash in navmesh debug visualization on WebGPU, and fixed incorrect alpha blending in WebGPU postprocess masks that broke or visually corrupted selection outlines.
- Legacy animation configs removed. Old-style *.anim.json animation state-machine configs are no longer accepted at runtime; only serialized *.animconfig.json resources work. ANIMATION_CONFIG_LEGACY_EXTENSION/isLegacyAnimationConfigPath were removed from the public API in favor of ANIMATION_CONFIG_RESOURCE_EXTENSION/isAnimationConfigResourcePath. Every new project now ships an "engine-upgrades" AI Assistant skill and a standalone migration script (dry-run by default, --write to apply) that converts old configs and rewrites references automatically. See the engine-upgrades skill's 13.x migration notes before updating. (Breaking Change)
- VirtualJoystickOptions.hidden removed. Deprecated earlier this cycle in favor of enabled: false, and now removed. Update any game code still setting hidden. (Breaking Change)
- Mover locomotion stack. New MoverComponent locomotion stack (Walking / Falling / Flying / Airplane / TopDown / Vehicle modes) with MoverCharacterPawn and MoverPlayerController, replacing hand-rolled per-pawn movement with a pluggable, stackable movement architecture. A new AIController adds navmesh path-following and look-at behavior on top of Mover pawns, and a stackable SpeedModifier lets you buff/debuff a pawn's move speed at runtime.
App Settings
- Defaults and reset. Explicit default values and one-click "reset to default" for App Settings toggles (AI Assistant, Genesys MCP, Ask-before-project-update).
Viewport
- Right-click context menu. New right-click context menu, including "Add to Current/New Chat" to send selected scene objects to the AI Assistant as context.
- Fix multi-select outline scaling. Multi-object selection outline rendering now scales to many selected objects at once instead of one pass per object, fixing flaky outlines and improving performance for large selections.
Prefab Editor
- Select components in isolation view. Prefab isolation view now supports clicking to select individual components inside the prefab, not just the prefab root.
- Fix live link and sync issues. Fixed prefab instances losing their live link to the source prefab after Apply/unlink, the inspector not refreshing after an actor replacement, live actors not syncing after an asset reference relocation, and prefab metadata stripping on save.
Property Editor
- Copy/paste inspector properties. Copy/paste for individual inspector properties (right-click, or Shift+right/left-click), including nested object/array properties, fully undoable.
- Snappier selection. Selecting objects with complex property panels is noticeably snappier; the property preview layout is more compact.
Desktop App
- Floating profiler panel. A new toggleable floating profiler panel, usable both in the editor and during Play-in-Editor.
- What's New dialog is back. The "What's New" release notes dialog is back for dev builds.
- Minimum SDK version raised. The minimum required SDK version was raised (to 13.3.7, with the auto-update-recovery floor raised to 13.0.0); installs older than that are blocked at startup until updated.
Genesys MCP Server
- Expanded mutation coverage. Component remove/duplicate/reset, scene create/duplicate, prefab isolation open/close/save/resync, editor undo/redo, visibility/lock toggles, asset reference lookup, and new NavMesh query/action support — giving MCP-connected tools (Claude, Cursor, etc.) much fuller control of the editor.
- Bundled editor manual. Every new project ships a bundled "genesys-editor-manual" reference (expanded into a full UI atlas covering menus, outliner/inspector, viewport/assets, and hotkeys) that teaches MCP-connected agents when to use MCP calls versus the UI.
- More reliable connection. The connection stays alive across project switches and rebinds per-project instead of tearing down, mismatched per-project auth tokens are rejected, asset operations (create/move/rename/delete/import) go through the same logic as the UI, several folder move/rename edge cases were fixed, it correctly reports "project closed/not ready" instead of returning empty data, it stays bound while the New Project Wizard is open, and previously-advertised operations that never actually worked were removed so the schema reflects real capability.
Project Recovery
- Recovery screen for failed loads. When opening or loading a project fails, a new recovery screen explains the error and offers Retry, Fix with AI, Open Project Folder, Open in Code Editor, or Dismiss. "Fix with AI" opens a dedicated Fix-agent chat tab that closes automatically once the rebuild/Play verification succeeds, retrying automatically and staying bound to the correct project.
Asset Browser
- Fix permissions, scrolling, renames, and moves. Hardened permission checks on read-only/protected directories, fixed the tree scrolling unexpectedly on select/expand, blocked case-only renames from silently overwriting a differently-cased sibling, and hardened move/relocate with copy-first rollback so a failed move can't corrupt the project.
Model Viewer
- Preserve texture names. Texture names are preserved as-authored instead of being renamed.
Dialogs
- Fix width and update-reason regressions. Fixed dialog width regressions and Find References layout/truncation; the Manual Update dialog now correctly keeps the actual reason for an engine/SDK version mismatch instead of losing it.
CLI
- Fix corrupt dependency versions. genesys-sdk new could previously write a corrupt/undefined dependency version into a scaffolded project's package.json when the internal dependency catalog was incomplete, breaking npm install. This now fails with a clear error instead of producing broken output.
