The Sandbox Studio

Updates

Product releases, events, and announcements from The Sandbox team.

ENGINE UPDATENov 10, 2026

Engine Update Release Notes: November 10th, 2026

This MAJOR Sandbox Studio update opens multiplayer and monetization to every creator. You can now build real-time multiplayer games with quick-match matchmaking and rejoin. You can also start building monetization into your games: add an in-game shop and set up items today. Buying and spending Silicon, and listing items on the platform, follow closer to launch.Your agent also gets a new set of game-creation skills. Describe a game in a line, name a genre, or continue one you already started, and the agent plans, builds and tests a complete first version. That version has a working loop, a lit and decorated space, title, HUD, pause and result screens, sound and effects, and art you can recognise in play. The agent writes down every decision it makes for you, and asking for a single fix still changes only that one thing.This is also a major update with breaking changes, so most projects will need import and saved-data updates. Games look sharper and adapt their quality to each device. A large world-building toolkit adds water, terrain, grass, trees, props, time of day and one-step world styles. The editor gains split viewports, a Command Palette, a redesigned Asset Browser and a more controllable AI Assistant.FEATURES:MultiplayerMultiplayer. Real-time multiplayer is now available to all creators.Servers. Every match runs on its own authoritative server. The server decides every outcome, and clients send only input. Servers shut down once a match is empty, and standby servers keep start-up quick.Matchmaking. Players queue for a quick match and are placed on a server together.Replication. Movement, object and physics state, and session state sync without extra setup.Rejoin. A player who drops out is placed back in their match until GameMode.inactivePlayerTimeoutSeconds expires.Avatars. Each player’s avatar look replicates to every peer.Platforms. Multiplayer works the same on web and mobile.Join Flow. (Breaking Change) JoinParams no longer declares identityToken or sessionId, and sessionName is now sessionId. Replicated PlayerInfo.playerId replaces identityToken. maxPlayers is removed from GameSessionInfo and IGameSession. Dedicated servers admit players through a platform host (launcher-server --host-module) that verifies the join token. A refused join closes the socket with code 4001, and the client does not reconnect. See the engine-upgrades 18 to 19 guide.Sessions. The handshake rejects peers with a different protocol version or replication schema. Other session changes:setAcceptingNewPlayers supports backfill.findMatch and followParty accept joinParams, which are passed to the game server handshake.New Duo2v2 queue type.Empty dedicated servers exit after 10 minutes with no join, or 60 seconds after the last player leaves.Network Simulation. Network simulation gains RTT presets, drifting jitter and packet-loss simulation.MonetizationMonetization. The in-game store and item tools are now part of the engine, so you can build monetization into your game ahead of launch. The platform side is not live yet. That includes buying and spending Silicon, The Sandbox’s platform currency, and listing your items on your game’s platform page. It deploys closer to launch.Available now:In-game store. Ask your agent to add the store, and it installs a default store built with the engine’s UI kit, with Shop and Inventory tabs. Press B to open it. The store’s source is copied into your project, so you can restyle it to fit your game.Items. Each item has a name, description, price, image and SKU. It belongs to one of eight categories: Currency, Consumable, Permanent Unlock, Upgrade, Cosmetic, Timed Boost, Access or Convenience. Its behaviour is either Permanent or Temporary. You decide what each item does in play, and your agent can wire that into your game logic.Monetization skills. New projects include monetization-store, monetization-store-components and monetization-store-items. These skills teach your agent to add the store, set up items and connect them to gameplay.Store Manager. Create your game ID, and create and edit item drafts.Closer to launch:Publishing from the Store Manager.Buying Silicon through Get Silicon checkout, and spending it on items.Your items listed on your game’s platform page.Real purchases in published games.Game CreationGame Creation Skills. New projects include a set of game-creation skills. They teach your agent how to turn a request into a complete first version of a game, which engine systems to use, and when to stop and hand the game back to you. A short prompt is treated as a request for a small, complete game.Brief. Every new game starts from a brief. If your prompt already says what the player does, how a run ends, the look and what this version contains, the agent saves it as BRIEF.md and builds. For a shorter prompt, the agent offers one choice: build now with its assumptions written down, or shape the game together first. Saying “just build” skips the question. When you come back to a game, the agent continues from BRIEF.md and GAME.md. If you ask for a different game in a folder that already has one, it asks whether to start a new project or replace the existing game. A starter template is a starting point, and the agent keeps, extends or replaces each of its systems.Design. Before its first edit, the agent writes GAME.md. It covers the core action, the pressure on the player, the goal, retry, camera and controls, a 5–8 colour palette, a UI direction, and an assets table that says where each asset will come from. Where your prompt is silent, the agent uses the closest genre and records the choice. Genres include top-down and first-person shooters, brawlers, platformers, endless runners, racers, flyers, wave survival, tower defence, puzzles, collect-and-explore, sports and upgrade loops, and two genres can be combined. A size, count or feature you ask for stays until you change it. The agent offers a mode or system you did not ask for once, and builds it only if you say yes.First Version. The agent treats a full build as finished only when the game has all six of the following:Loop. Responsive controls for the main action, a way for the player to fail, a goal, an end, and a Retry that uses the same path as Start.Space. A bounded, lit and decorated place. Outdoor ground and water use the new world styles and environment presets. The title screen is set in a place, not on an empty grid.Flow. A title screen with Start, a HUD, a pause screen with Resume, and a result screen with Retry, all styled for this game from the first build. When the genre has a touch layout, phones and tablets get on-screen sticks, hold-to-act buttons and a tappable pause. Keyboard, mouse and gamepad controls stay.Feedback. The main action and the main hit each register in at least two ways, such as particles, sound, camera movement or UI, and the game has background music.Presentation. The hero, the opposition, nearby props, the architecture, the title and the sounds are real assets you can recognise from the gameplay camera. A placeholder box in any of these roles means the game is not finished.Played. The project builds, Play loads the new game, and the agent plays through start, movement, the main action, pause, failure and retry, then checks the captured frames.Boot and Screens. Play loads one game mode. Start and Retry share one launch path, so Retry resets the run without reloading the page. The hero stays in frame on the title screen, and controls turn on at Start. Escape or P pauses the game. Best score, music volume, effects volume and invert-Y are saved between sessions. Every tunable number lives in one constants file, src/const.ts.UI. Each game gets its own UI direction, with fonts, shapes and colours from its palette. The title, HUD, pause and result screens are designed for that game. Health sits top-left, the objective sits top-right, and the centre of the screen stays clear during play. Games with sound get Music and Effects volume controls on the pause screen.Art. For each asset, the agent first reuses a suitable engine, Asset pack or project asset. If none fits, it builds the model in code and exports a GLB. Code-built models use the game’s palette in a toon, flat or soft look, and are finished when they read clearly as the object in play. Blender is used only when you ask for it. Scenario generation stays off unless the project’s art routes include it, and anything you say in the prompt overrides the art routes. The first batch covers the hero, the main opposition, the first thing the player uses, and the architecture. Each batch is placed in the game and checked before the next one starts. Heroes, creatures, props, modular building pieces, buildings, scatter, icons and music each have a file-size and triangle budget. An asset check fails the build if the game references a file that is not on disk.Feel, Combat and Creatures. Input takes effect on the frame it arrives. Stops are crisp, jumps accept a slightly late press and fall faster than they rise, and hits the player must notice get a short freeze, a flash, a sound and an effect. Screen shake is kept for the biggest moments. The first meaningful action happens within a few seconds of Start. Weapons, projectiles and health use the engine’s combat classes. Every enemy is easy to read, can threaten the player and can be hit and killed: it signals before it attacks, reacts when hit and has a visible death. Pickups, doors, switches, hazards, checkpoints and moving platforms use the engine’s interaction nodes. Cars and karts are vehicles the player possesses, with wheels, a chase camera, laps and a reset back to the track.Space and Light. Arenas, rooms, tracks and streets are built in the editor, with bounds, spawn points and instanced decoration. Outdoor games use the new world styles and environment presets, so terrain, water, grass, trees, sky and fog arrive as one scene. Lights, fog and colour grading come from the game’s palette, and the space stays readable. The camera suits the genre: first person, third person, top-down, side-on or chase, with pointer lock only while aiming.Sound and Effects. Every game has background music from the title screen onward, plus sounds for the main action, UI confirm, hits and deaths. Muzzle, trail, impact, death and pickup effects are part of the first version.Proof. A successful compile is not proof that the game is playable. The agent checks the look in the editor before the playthrough, and the console has to be clean. A separate review pass then reads the brief, the design and the captured frames, and the agent fixes what it finds before handing back. It finishes with how to play: the controls, the goal and anything still open.Planning for Other Agents. Ask the agent to plan the game for other agents, and it writes TECH.md and one work-package file for each part of the game. It checks that a bare-bones version of the game boots, then stops. Any later session can pick up a work package. During a build, independent work such as code-built models, synthesised audio and layout files runs in parallel. The agent driving the editor keeps control of the scene, the boot path and the build.Skills Included. genesys-game-director, genesys-game-boot, genesys-ui, genesys-touch-controls, genesys-game-feel, genesys-verification, genesys-assets, genesys-code-modeling, genesys-level-authoring, genesys-world-building, genesys-lighting, genesys-camera, genesys-movement, genesys-combat, genesys-creatures, genesys-interactions, genesys-vehicles, genesys-vfx, genesys-audio, genesys-tech-design and genesys-subagents. The agent also reads the physics, navigation, behaviour tree, animation, multiplayer and monetization store skills when a game needs them.RenderingDrawing Pipeline. WebGPU games and the editor viewport now draw with the meshlet pipeline by default, fed from a scene registry. The WebGL backend still uses the standard pipeline. Pass drawingPipeline: ‘standard’ | ‘meshlet’ to GenesysWebGPURenderer.create to choose. Model nodes build their meshlets while loading, and static parts are skipped when nothing changed.Project Settings. New Drawing Pipeline (standard, meshlet, registry) and Lighting (standard, dynamic, clustered) settings, saved as drawingPipeline and lightingType in .genesys-project. Both are hidden on WebGL projects, and changing either one reloads the editor. GenesysWebGPURenderer.create also takes lightingType.Quality. auto quality now reads the WebGPU adapter and picks a tier:High. Discrete GPUs and Apple silicon.Medium. Integrated GPUs, browsers without WebGPU, classic WebGL and flagship phones.Low. Other phones and weak desktops.On low and medium, existing scenes adjust automatically:Terrain meshes draw at ×0.5 / ×0.7 of the authored grid. Collision is unchanged.GTAO uses fewer samples at a lower resolution.Cascaded shadows drop to one 1024 cascade on low and two on medium.Games now render at the display’s pixel ratio instead of always 1. The ratio is capped at 2 on high, 1.5 on medium and 1 on low, so high-DPI screens are sharp, at up to 4× the pixels on high. r.ScreenPercentage or renderer.setPixelRatio() still pins a ratio. In Play, a frame-time watchdog lowers auto by one tier after two slow windows in a row, never below medium on desktop. Opt out with qualityWatchdog: false. To pin a tier, use setQualityTierOverride(‘high’) or a node’s quality. getResolvedQualityTier() reports the active tier and why it was chosen.Shadows. Cascaded shadows (useCsmShadows) stay off by default and follow the quality tier. Property metadata gains performanceCost, shown as a warning icon in the editor while an expensive option is on.Ambient Occlusion. GTAO is rebuilt with a depth and normal pre-pass and a depth-aware denoise (denoise, denoiseRadius). It also gains quality tiers that follow auto quality and an aoOnly debug view. Defaults are sized for character scale, and GrassNode opts out of screen-space AO.Materials and Effects. New anime toon material with inverted-hull outlines (automatic or no-outline variants) and quality tiers. Also new: opt-in async WebGPU pipelines (asyncPipelines, pipelinesInFlight) with a reveal-after-compile helper, scene post providers, height fog, light shafts and LUT effects.Lens. New lens post effect with vignette, film grain, chromatic aberration and barrel distortion. It is off by default and set by look presets such as cinematic-warm and noir. New LensFlareNode follows the sun and hides behind geometry. Anti-aliasing gains a mode: FXAA (default), SMAA, or TRAA on WebGPU.Mirrors. New MirrorNode adds planar mirrors for walls, floors and puddles, with tint, roughness blur and quality tiers. Phones get a glossy surface instead. Grass and small scatter are excluded from reflections. Use setExcludedFromReflections(object, true) to exclude your own dense detail.Lines and Batching. New LineNode draws thick, dashed or multi-coloured lines on both renderers. New BatchedMeshNode draws many different meshes in one batch.Shader Compiles. New queueCompile(renderer, start) runs compileAsync calls on a renderer one at a time. three r187 fails when two run at once, so route your own calls through it: await queueCompile(renderer, () => renderer.compileAsync(scene, camera)). Engine precompiles already do this.Transforms. World matrices are recomputed only when position, rotation or scale changes. During play, static SceneNodes skip their subtree until markTransformDirty is called or a parent moves. setWorldTransform and editor edits call it for you.Debug Views. New viewport debug views: Geometry, Meshlet Clusters, Meshlet Batches and Drawing Pipeline, which colours each object by the path that draws it. The drawingpaths console command prints per-pass draw path counts and the reason for each. ?genesysDebug=1 enables the debug HUD and profiler on any browser host. A built-in trace viewer replaces Perfetto. A gameplay-sim debug overlay and a post-process graph view are also added.World BuildingWorld Styles. applyWorldStyle gives a whole outdoor scene one art direction in one step. Styles: realistic temperate, realistic tropical, anime, low-poly, volcanic, alpine snow, desert, alien and autumn. Each style sets terrain, grass, trees, water, look and fog together. You can register your own styles or extend a built-in one. Environment presets and new scenes accept a style.Environment Presets. applyEnvironmentPreset builds a complete outdoor scene from ordinary, editable nodes, with ACES tone mapping. Presets: tropical ocean, temperate valley, night street and overcast plain.World Building APIs. (Breaking Change) applyWorld, applyEnvironmentPreset and applyNewSceneTemplateToWorld now return Promises, so use await. They build in small steps so the page stays responsive, and they accept an AbortSignal. A newer apply on the same world cancels an older one, which resolves { ok: false, cancelled: true }. World shape and collision are identical on every device. If the scene has no PlayerStart, the functions place one on dry, gentle ground near the camera’s look point. Re-applying replaces that start and never touches one you placed. They no longer add an orbit camera. Showcase scenes pass withCamera: true, which replaces skipCamera.Water. New WaterNode offers two looks:Realistic. Reflective open water with sun glints.Stylised. Depth colour, optional waves and shoreline foam, for lakes, rivers and toon styles.BuoyancyNode floats boats and props on it. There are 39 presets covering oceans, lakes, ponds, rivers, streams, pools, swamps, hot springs, toon-* variants, and lava, slime, toxic, paint, tar, molten gold and arcane liquids. lava is now realistic (basalt crust with glowing cracks), and toon-lava keeps the cartoon look. Medium quality and above renders a three-cascade FFT ocean from a physical JONSWAP spectrum. The new windSpeed property sets how rough the sea is, crests leave persistent foam, and the far sea blends into the horizon sky. Opt-in ultra quality adds chromatic caustics on desktop GPUs. auto never picks ultra, and ultra falls back on GPUs without float render targets. Other water changes:Realistic water is cleaner, with sharper ripples, baked caustics, correct Fresnel and no milky horizon.Oceans no longer look tiled from a distance.The new metalness property blends liquids from glossy to molten metal.The inspector shows a thumbnail picker with a description for every preset.Full water runs on the WebGPU renderer. Classic WebGL shows a simple lit plane instead.Terrain. TerrainMeshNode gains:Fractal noise: fbm, ridged and fbmWarped, with octaves.Island and archipelago shaping with beaches and a sea level.Height-and-slope biome colours.World-space getHeightAt / getNormalAt / getSlopeAt.A new layers colour mode that blends 17 ground types (including grass, dirt, sand, rock, snow and lava) by height, slope and noise. Textures are generated in code in realistic, painterly, toon and flat variants, with nothing to download.Existing terrains keep their shape, colours, colour mode and collision.Grass. New GrassNode draws GPU grass and flowers around the camera in a few draw calls. The grass sways in the wind, fades into the ground and stays off beaches and cliffs. Styles: realistic, meadow, anime, low-poly, dry, snowy, ash and alien. Phones draw a smaller field without shadows.Scatter and Plants. New ScatterNode places seeded, instanced items on terrain by height, slope, spacing and density clusters. It supports 13 species (broadleaf, birch, pine, snow pine, palm, dead tree, bush, fern, flowers, rock, cactus, crystal and mushroom) or your own models. Each species comes in realistic, stylized or low-poly style. Trees have shape variants, sway in the wind, and switch to simpler shapes and billboards with distance.Wind. New WindNode drives grass and tree sway for the whole scene.Props. New ProceduralPropNode provides 16 seeded props, from crates and barrels to a lighthouse, bridge and dock. Each prop comes in realistic, stylized or low-poly style, with LODs, lights and collision. Realistic props use CC0 PBR textures from ambientCG, and ScatterNode can scatter the same props.Time of Day. New TimeOfDayNode uses one clock to drive the sun, sky, hemisphere light, fog and environment through dawn, day, dusk and night. It switches lights tagged night-light on after dusk. CC0 dusk and night HDRIs are included.Camera. New OrbitCameraNode orbits, zooms and idle auto-rotates around a pivot, for showcase scenes.VFX Presets. 21 ready-made effects, including explosion, muzzle flash, fire, smoke, magic, heal aura, portal, rain, snow, lightning, shockwave and confetti. Set VFXNode.preset with tint, scale, intensity and seed. The property reads ‘none’ when unset. Particle textures are generated in code.Trails. New TrailNode ribbons.ThreeObjectNode. New base class for wrapping any three.js object or addon in your own node. It builds from properties, rebuilds on edit, cleans up automatically, and shows a placeholder instead of crashing when the build fails.Loading. world.whenReady() waits for 12 smooth frames by default. Eroded terrain generates its heights on a worker and shows a flat placeholder until the shape is ready. ScatterNode reports readiness. New world.beginLoadingTask() adds your own loading steps to getLoadingProgress().Time. world.timeControl freezes or steps time, and world.random is a seeded random generator, for repeatable captures and play.Types. (Breaking Change) Colour properties on GrassNode (baseColor, tipColor, dryColor, flowerColors), TerrainMeshNode.slopeColor and LineNode.colors are now THREE.Color. Colour strings are still accepted. Water flowDirection is now 0 to 360 degrees, and ScatterRole.None is now ‘none’.Metadata. Per-option descriptions for enums such as water and VFX presets are now included in engine-data.ts (optionInfo).Avatar and CharacterAvatar Replication. (Breaking Change) The avatar look is now replicated on AvatarAppearanceNode.avatarId and composed on every peer. NetWorld.onEntityEstablished and PlayerInfo.onRepAvatarId are removed. Use assignPlayerAvatar(controller, avatarId) to change a player’s look at runtime.Avatar Face Shapes. New AvatarAppearanceNode.setFaceShape(role, weight), with FaceShapeRole and FACE_SHAPE_ROLES now public. The weight is clamped to 0 to 1, and the call does nothing when the head has no face morphs. Call it after setFacialExpressions, which rewrites every morph. AVATAR_ID_SERVICE_DEFAULT (‘@default’) names the service default look.Avatar Assets. The default avatar body is replaced and uses a basic shorts texture. Runtime avatar packs are now baked: the body drops from 6.3 MB to 1.4 MB, and outfits drop from 12 MB to 1.8 MB.Character. CharacterPawn and GSSCharacterPawn gain runSpeedThreshold (default 2 m/s) to set when the run clip plays, so slow enemies no longer slide in the idle pose. New third-person spawns use mannequin.glb. Scenes that still reference mannequinG.glb or mannequin.animconfig.json keep working. To keep the old character, set the mesh URL and configUrl back to that pair.PlayerStart. PlayerStart reports a character-capsule bounding box and draws a capsule outline in the editor. New snapToGround rests the pawn on the first walkable floor. It defaults to false and is enabled for new scenes.Public APINewly Public. Newly public functions and classes:Environment. hasDom, isBrowser, isGenesysDebugEnabled.Certificates. serializeCertificateHashes, parseCertificateHashes.GSS custom data. gssGetUint, gssGetString, gssGetVector2, gssGetQuaternion and their setters.Physics and correction. tagSetHas, capsuleVolumeAlongSegment, inflateShape, HistoryBuffer, captureBodyState, restoreBodyState, lerpBodyState, SmoothCorrection.Networking and animation. WebSocketNetworkConnection, RetargetingSession.Newly public types: AudioBus, TextureManager, TweenManager, PluginManager, BehaviorTreeJSON, IAsyncLoadable, ActiveManifold and TickManager.Asset Pipeline and BuildAsset Compiler. New bakeAssetFiles bakes an explicit list of files and returns their baked bytes. GLB animations are resampled and deduplicated before Meshopt. This is on by default and can be toggled with assetCompiler.animationOptimization.enabled or in Project Settings. It shrank one 127-clip character from 7.1 MB to 5.4 MB. GLBs re-bake once after upgrading.Build. Scenes can be excluded from the build and Play, along with assets used only by those scenes. Startup and play scenes stay in the build.CLI and DesktopSDK Updates. A .genesysignore file keeps SDK-managed files, including marker-based ones, from being overwritten by SDK updates. The creator’s art-routes line is also kept across updates.Node.js Check. genesys-sdk and genesys now exit on Node.js releases that still trust the compromised eMudhra CA: Node 24 before 24.22.1 and Node 26 before 26.12.1. They also declare engines.node. The desktop app bundles Electron 44.9.x.Launch. --project <path> opens a project on launch. File-server ports are now 4000 to 4003, one per desktop channel (live, staging, packaged dev, local dev), so side-by-side installs no longer collide.Play. Play surfaces get their own session, a minimal preload, and locked navigation and popups, and they refuse non-play IPC. The avatar presence-token flow now works in desktop Play.Capture. Play appears in screenshots, and automatic captures save to .editor/captures.MCP and SkillsScene and Editor Tools. action_scene gains applyWorldStyle, listWorldStyles, applyEnvironmentPreset (with worldStyleId), updatePostProcessing, and a template option for create. action_editor gains frameNodes. captureScreenshot can now:Capture the running game (target: “play”).Render from another camera or several views at a capped size.Return image metrics with warnings.Readiness Errors. Readiness errors carry a recovery hint and finer codes: editor_loading, editor_disconnected, play_mode_active and scene_not_open.Profiling. Memory profiling and richer Insights tools ship. startTrace applies the Profiler panel’s default limits.Play Queries. query_node, checkSpawnPoints and query_play return play_mode_active during Play. action_store names game items by core itemId.World Building Skill. New genesys-world-building skill: compose a world with applyWorld, then verify it with framed captures. It is also part of the game-creation skills.EditorViewport. Split viewport layouts (Layout menu, Alt+Shift+1–4) are on in every channel, with a per-view toolbar, view modes and per-pane input. Other viewport changes:The transform gizmo is bigger, with size, thickness and handle settings.The default editor FOV is 60 (vertical).The grid is off by default; toggle it with G.View Mode lists every engine debug view.Command Palette. Ctrl/Cmd+K reaches most editor actions, including view settings, camera views, transform tools, snapping, selection, panels, play options and settings. Toggles show check marks and choices open sub-pages. Search matches loose letters and synonyms, and recent commands come first.Asset Browser. Redesigned for narrow docks, with a folder drawer, a compact toolbar and search behind an icon. New features:An Assets view by category with counts, and a List view.Thumbnail Size and Ctrl+Scroll sizing.A Filter button and keyboard navigation.Open Second Asset Browser, Reset View to Defaults and favourite folders.Skinned glTF models are now detected as skeletal meshes.Outliner and Inspector. New Density setting (Compact by default, or Comfortable) in Application Settings. Add Node opens a searchable dialog with Recent, Favorites, categories and prefabs. Open it with Ctrl/Cmd+Shift+A, and use Shift+Enter to keep it open. A separate Add Prefab dialog is also added. The Outliner has a type filter with counts and Match ID. Inspector tooltips show Min, Max, Range, Step, Unit and Default. Copy All / Paste All Properties is in the properties menu.Asset Windows. VFX, Animation Config, Skeleton Profile and Model Viewer open in their own resizable windows, with a save prompt on close. Model Viewer gains Hierarchy, Details, Materials (per-material override and Export Material) and Export tabs.New Asset Dialogs. New Scene uses a landscape template grid and adds Tropical, Valley, Night, Plain, Anime Islands, Low-poly Valley, Volcanic and Snowy Mountains templates. Create New Material uses a two-column icon list, and its previews keep the shader’s shading. New Material, Prefab, Resource and Scene reopen in the last folder used for that kind of asset.AI Assistant. You can now steer the assistant mid-turn:Enter steers, and Alt/Option+Enter queues a message. A tray lets you Steer Now, Edit or Remove queued messages.Esc stops a reply.Click a sent message to edit it, or to retry it and continue.Other assistant changes:/skill slash commands, a skill picker and subagent model overrides.The model picker has a Fast option and per-provider settings.Clarifying questions appear as a chat card, and subagent cards show each worker’s tool calls.New default models are Opus 5.5, GPT-6.1 Sol and Grok 4.7.Dashboard. Clicking anywhere on a project card opens it. Each card has a ⋯ menu and a right-click menu with Open, Show in Explorer, Open in Code Editor and Delete….ImprovementsEngine / Performance. Bound Object3D properties are pushed from the node, and meshlet shadow passes skip records that cast no shadow. The WebGPU exclusion mask target is allocated lazily.Engine / Lighting. Valley shade has a stronger, greener fill, and leaves let sunlight through on the side away from the sun.Engine / Defaults. Projectiles live 10 s by default, and the default jump reaches about 1.5 m. NpcMovementNode walks at the player’s speed by default and applies its options. forwardDirection and rightDirection default to world space.Asset Compiler. Raw .aac files are no longer baked to MP3, a bake that previously failed. They are copied as-is, like .mp3, while .m4a is still baked. Textures named in UI HTML and CSS stay uncompressed.CLI / Dependencies. Moved projects re-link their dependencies, and meshoptimizer is hoisted again in new projects.Desktop / Build and MCP Speed. Build progress now distinguishes a cache hit, a warm rebuild and a cold rebuild. New projects open without a second type-check. Build, reload, inspector and MCP are faster, and generated files no longer wake the file watcher. MCP tools/list is 40% smaller for Sandbox Studio.MCP / Reliability. MCP calls wait while the editor is busy or relaunching. run_script runs in a QuickJS sandbox. Long world builds are awaited and reported instead of timing out.Templates / Bundles. Game bundles share one wrapper per external and keep dependency sourcemaps external in dev. Eruda now loads only on mobile browsers.Editor / Performance. Viewport picking, box selection and gizmo drags are faster. First-load shaders compile off the frame, and opening a project and reloading after a build are faster.Editor / Build Overlay. The overlay shows one Building Project heading with elapsed time, the current step and a progress bar based on this project’s last build.Editor / Title Bar and Dock. Compact title bar, and Ctrl/Cmd+E and Ctrl+Q work as shown in the menu. Dock tabs can be dragged and dropped, and Space cycles the transform tool.Editor / Inspector. Multi-select edits write to every selected node, and undo restores each one. Screen Space Reflections gets Resolution Scale. WebGPU-only effects are hidden on WebGL.FixesEngine / Lifecycle. onBeginPlay now fires after the whole beginPlay override chain. As a result, setPhysics*Param calls in onBeginPlay now find the physics body.Engine / PlayerController. restartPlayer now snaps the pawn to the floor when snapToGround is set. Previously it buried the capsule about 0.9 m on every restart after the first.Engine / Multiplayer. A signed presence token (a JWT up to 1024 characters) is now accepted as the join avatarId, instead of every player getting the default avatar. Same-tick entity updates split under the packet byte cap. Angles replicate across ±π instead of clamping, and replicated node refs stay stable when an entity is reparented.Engine / Meshlet Pipeline. Materials with deformed positions draw correctly, and the post-process chain renders on the meshlet and hybrid pipelines.Engine / Rendering. Fixed rendering issues:The sky no longer leaks untonemapped into the frame.backgroundColor shows when there is no sky.Colour grading no longer crushes shade to black.Non-shadow lights no longer black out the view.Planar mirrors no longer desync CSM shadows.Engine / Gameplay. Fixed gameplay issues:Behaviour tree timers use game time, and interrupted actions run onExit.Trigger zone stay events tick, and TriggerZoneNode.setCustomFilter works for scene-loaded Custom zones.Fixes to tweens, despawnVFX, PickupSpawnerNode, the vehicle parking brake and GSS pawn camera pitch.calculatePathResult now reports whether a navmesh path is complete.Engine / Navmesh. Agent sizes convert from metres to voxels, and generateOnStartUp builds the navmesh at Play with the scene’s saved settings.Engine / UI. Fixed UI issues:A position passed to a UI widget anchors it.UI3DNode keeps a widget hidden from code.Buttons release focus after a pointer click.Locked KeyPress doors show their Locked prompt.Inter is now bundled, so the UI kit no longer falls back to Arial.Engine / Audio. Bus volume ramps over a duration, GlobalAudioManager resumes a suspended AudioContext, and finished one-shots drop from the playing count.Engine / Instancing. Saved instances beyond maxInstances now raise the limit instead of being dropped.Engine / Physics. Ignored collider pairs pass through, runtime wheel friction persists across ticks, and IPhysicsEngine declares createJoint and getActiveJoints.Engine / Types. Post-process effects are typed as a union of the effect configs, and the query collisionProfile accepts a profile name. Unknown collision profile names warn once and use the Default profile.Engine / Terrain. Editing a terrain’s material in the editor now applies it, and edited terrains reload with their generated shape.Engine / Fog. Setting fogColor from a colour string no longer breaks fog.Engine / Animation Retargeting. Hips and root movement now keep their direction between rigs whose axes point differently, such as a Z-up mannequin and a Y-up character. Previously a run’s up-and-down bob could become forward and backward sliding. Clips are also now retargeted when two skeletons share a profile but have different rest poses, so rigs with other proportions are no longer stretched.Templates. First Person Exploration no longer fails on the first build. Whitespace is kept in quoted @project asset paths.Desktop. install-env.ps1 is plain ASCII, so it parses on CJK Windows. Assistant chats survive a change in project path casing. Stopping Play removes the previous view, and a restarted Play session keeps its screenshots.Editor / Viewport. Rect Area, Ambient and Hemisphere lights with Cast Shadow no longer turn the view black. Toggling a post-process effect no longer moves the camera. Redo of a multi-node place re-selects the nodes.Editor / Assets. Fixed asset issues:A texture reimport refreshes the materials and models using it.A prefab reimport keeps placed instances.Skeletal meshes no longer fail with “Malformed buffer data”.Engine thumbnails regenerate instead of saving a blank canvas.A project that fails to open is no longer reopened at startup.Editor / AI Assistant. The message box clears on send, and retry no longer rewinds the wrong turn. Chat attachments persist per tab, and expanding large tool results no longer freezes the editor.Editor / Security. Desktop login tokens are no longer kept in localStorage.Deprecations and RemovalsPublic API. (Breaking Change) @gnsx/genesys.js now exports a curated list of public symbols, and ./internal is no longer published. Import everything from the package root. Names that games do not use are gone from the root, so check your imports after upgrading.Removed Aliases. (Breaking Change) The deprecated *Component and *ComponentOptions aliases are removed.

ENGINE UPDATESep 22, 2026

Engine Update Release Notes: September 22nd, 2026

This update brings faster physics queries, an overhauled Particle Editor with sub-emitters and a new Clip Timeline, and full undo/redo in the Animation Editor. The Outliner and Viewport both get organization and workflow improvements, and three new starter templates plus a new RTS Game Example are now bundled with the package. Fixes cover macOS rendering, particle playback stability, and several editor reliability issues.FeaturesEngine / Physics. New Rapier-backed ray, sweep, overlap, and node-contact query APIs; the network-prediction rewind path now uses overlap queries to resolve a client's past input tick against physics props.Engine / Materials. Textures gained explicit interpolation/sampling controls (Linear vs. Nearest), exposed as a material property for crisp pixel-art or smooth-filtered looks. M_Floor and M_Wall ship as built-in materials, and Dynamic UV triplanar mapping ships as a built-in node material.VFX / Particle Editor. Particle systems and emitters can be renamed, and gained Sub-Emitters (burst another emitter on a predicted plane hit or particle death, e.g. a rain splash) and Plane Collision (kill or bounce particles off a per-emitter plane, with friction and per-particle bounce-randomization controls).VFX / Particle Editor. A Clip Timeline under the preview lets you scrub the playhead, drag each emitter's Start/Stop, and add burst markers, with per-lane keyframing for Rate, Size, Speed, Colour, and a new Emit Light option (adds a point light driven by the emitter). Emitter colour is now a lifetime ramp with an easing curve for Fade Alpha.Animation Editor. Undo/redo now covers Animation Editor edits, including the state machine graph.Outliner. Move Up/Move Down (Ctrl/Cmd+Up/Down) reorder siblings one slot at a time, Reparent… and Reparent to New Node… move a selection under a chosen node, Cut copies then deletes, and the filter box matches by class (t:/type:) or uuid (id:) while showing matching ancestors dimmed.Outliner / Prefab Editor. Copy nodes in a scene's Outliner and paste them into an open prefab, or the reverse; nested prefab instances stay instances.Outliner. Children of an editor-hidden node are now dimmed in the tree, with a "Hidden by Parent" tooltip, so inherited visibility is easy to spot at a glance.Viewport. Right-click a Place tool to reorder, hide, or restore it; hidden tools collect under a "More" menu, and an Edit mode on the toolbar rail lets you drag tools to rearrange them.New Project. Each template now shows its version under the thumbnail and in the selected preview.Project Loading. Open Existing and Play Local now default to your last opened project, and New Project's Browse dialog opens to the last folder you picked.Dashboard. Game search now matches tags, description, and owner (not just name), typing debounces before the list re-filters, and game-card tags stay on one row with a "+N" overflow instead of wrapping.AI Assistant. Refreshed default/recommended models across providers (GLM 5.3 Flash preferred for the Genesys factory Reset on several providers; retired model IDs swapped for their current replacements).Templates. The 1st Person Movement and 3rd Person Movement starter templates ship bundled with the CLI/SDK package again, joined by three new starter templates: 3rd Person Exploration, Top-Down Builder, and Endless Runner.Game Examples. Denfall, a new RTS game example, ships with the package.FixesEngine. Fixed a macOS-only Vite resolution failure for three/tsl and other Three.js addons, restored WebGPU tone mapping after the Three.js r186 upgrade, and fixed a Node-process crash from esbuild-wasm initializing eagerly during World construction.VFX Editor. Fixed particle playback stopping when a mesh is picked as the particle geometry, looping burst emitters not re-firing each cycle, opening a VFX with more than one emitter crashing the preview, Multiply/Subtractive blending erroring on WebGPU, Colour Over Life only blending the first two of three-or-more stops, colour-ramp stops losing pointer tracking once the cursor left the handle, clip light keys not holding their base intensity, and Auto-Replay/Restart carrying particles over from the previous cycle.New Project. Template and example thumbnails stay cached when reopening the dialog or switching between Templates and Examples, and the template catalog now lists a template's true latest version even when a local zip of it is cached.Viewport. Dragging a Place tool onto the scene now always lands at the scene/prefab root, matching Asset Browser viewport drops.Inspector. Tab and Enter now work in Position/Rotation/Scale and other number fields without clicking into the box first, and a post-process effect's Reset appears as soon as its value differs from the engine default (and correctly restores that default).DeprecationsEngine. DirectionalLightNode.isSunLight is deprecated in favor of drivesSky (same meaning: whether this light drives SkyNode's sun disc and scattering); existing scenes migrate automatically on load.Engine. The GTAO post-process settings distanceExponent/distanceFallOff are now deprecated no-ops. The underlying Three.js upgrade switched GTAO to quadratic ray stepping, which no longer uses them. Existing scene data is left as-is but has no effect.

ENGINE UPDATESep 3, 2026

Engine Update Release Notes: September 3rd, 2026

This week's release focuses heavily on control and cleanup. Lighting and animations look better, objects are removed from a scene in a more predictable manner, and the viewport's resizing and selection tool is easier to use. It also includes a big batch of reliability fixes for working with reusable prefab objects, adds two new game templates (3rd Person Platformer and First Person Exploration) to the creation flow, and two new game examples (Drift Chaser and The Still Sun) to play, remix, or mine for systems and mechanics.Breaking ChangesEngine / Node Lifecycle. remove() and removeFromParent() no longer tear down a node; they only detach it from the scene graph (no endPlay, no GPU dispose). Use destroy(), now available on every Object3D (not just SceneNode), to actually delete a node. Pass destroy({ forceDispose: true }) to also free GPU resources outside of Play. World.disposeSubtreeResources() is removed; use destroy({ forceDispose: true }) instead. Reparenting a live node no longer restarts it (no forced endPlay/beginPlay on every move), but a node whose play has ended can no longer be re-added to the graph; create a fresh instance instead. See the engine-upgrades skill's 15→16 migration notes, shipped with every new project, for the full list of affected patterns.FeaturesEngine / Rendering. Rect area lights now initialize their LTC (Linearly Transformed Cosines) lookup textures correctly on both the WebGL and WebGPU renderers, giving RectAreaLight proper soft area lighting in both.Engine / Materials. Textures gained explicit interpolation/sampling controls (Linear vs. Nearest), exposed as a material property for crisp pixel-art or smooth-filtered looks.VFX / Particle Editor. Particle effects now support sprite-sheet animation: configurable columns/rows, lifetime- or FPS-based playback, cycle count, and random start frame, with matching controls in the Particle Editor.New game templates. 3rd Person Platformer and First Person Exploration join the template catalog.New game examples. Drift Chaser (Racing) and The Still Sun (Soulslike) are now available as game examples.Template catalog reshuffle. Only Empty, Free Camera, and UI Kit now ship bundled with the CLI/SDK; FPS, Vehicle, Side Scroller, Grindwave, Third Person Action, and Visual Novel move to the online template catalog, fetched from the same registry as Asset Packs.Animation. Added support for additive animations, so clips can blend on top of a base pose.Viewport Settings. New hidden-edge outline controls (color, opacity, width/strength sliders) for wireframe-style outline rendering.Viewport / Transform Gizmo. Rewritten transform gizmo with correct orthographic-view support and more reliable syncing when exiting a transform or switching selection.Asset Browser / Model Import. Loading a glTF/GLB with external file references now shows a permission dialog listing the extra files before importing them.Outliner / Find References. Find References can now be popped out into its own detached window, and shows richer information: dependency relationships alongside "Used By" references, with jump-to-source actions.Undo History. Undo/redo entries now show human-readable names (the affected object or file), and you can jump directly to any point in the title bar's undo history instead of only stepping one at a time.Outliner / Inspector. Renaming an object to a name that's already taken offers a "claim" action that renumbers the existing occupant instead of silently auto-suffixing your new object. A related "Promote to Master" action strips a numeric suffix from a duplicate and renames it to the base name.Viewport / Outliner. Dropping an asset onto another object in the viewport or Outliner now offers to place it as a sibling instead of always nesting it as a child, and model/prefab drops apply and preview instantly instead of waiting on a full reload.Outliner / Inspector. Paste now supports pasting nodes as siblings of the current selection (Ctrl/Cmd+Shift+V), and duplicated nodes are offset so they no longer land exactly on top of the original.Project Settings. New default-scene management: pick and persist which scene opens by default for the project, with handling for a scene that's gone missing.Viewport / Play Mode. New hotkeys: open View Settings, and Exit Play with F8.Editor. Context menu items across the editor now show proper hover tooltips, including on disabled items, instead of relying on native browser tooltips.Prefab Editor. Switching between the last-opened scene and its prefabs, or back again, now keeps the previously open world "parked" in memory, so returning to it is instant instead of a full reload.AI Assistant. Every new project now ships additional built-in skills covering audio, movement, navigation, physics, and VFX subsystems, and existing shipped skills were refreshed to reference the current Node-based API.AI Assistant. Genesys Agent gained web search (Brave/Exa/Tavily) and web fetch tools, so it can look things up and pull in page content during a chat.AI Assistant. Agent Chat tabs and the chat composer now show whether a conversation is running on Cursor or Studio, so mixed-provider sessions are easy to tell apart.Genesys MCP Server. New prefab actions (create, place, isolate, apply, resync, unlink) give MCP-connected tools like Claude and Cursor direct control over prefabs, with guidance on when using a prefab saves tokens versus a class, Model, or duplicated node.CLI. New genesys-sdk update-project command applies SDK template, skill, and engine-version updates to an existing project from the command line (--check to preview pending updates, --json for machine-readable output, --skip-install to skip the pnpm install step). It's the same upgrade flow used by the desktop app, now scriptable.CLI. genesys-sdk new --unattended no longer requires GPG signing to be configured.Environment Setup. pnpm 11 is now the recommended package-manager version (minimum required raised from 9 to 10), and newly scaffolded projects ship pnpm 11 compatible workspace settings out of the box.ImprovementsPerformance. Static (non-ticking) scene nodes are skipped during the tick pass, reducing per-frame overhead in scenes with many static objects.FixesEngine / Rendering. Fixed instanced meshes not recomputing their bounding box/sphere after a material override, visual nodes crashing or misbehaving when an assigned material failed to load (now falls back to the default material), a debug-only sphere leaking into the Sky node's normal rendering, and spurious warnings appearing in the console when a game class registers.Engine / Viewport. Hardened bounding-box and physics math against empty or non-finite geometry, fixing crashes and hangs when focusing the camera or simulating physics on degenerate meshes. Also fixed collision and navigation-mesh debug visualizations being incorrectly saved into scene files, and debug overlay text now being assigned safely instead of via HTML interpolation.Asset Browser. Fixed GLTF texture/material extraction breaking with relative paths, viewport asset drops not landing at the scene root, right-click after the window loses and regains focus not opening the context menu, clicking empty grid space opening the scene menu, 404s when deleting assets that have no thumbnail folder, and reimported/replaced assets not refreshing everywhere they're used, including in an open prefab.Find References. Fixed "Used By" waiting unnecessarily on Dependencies to load, results going stale against unsaved documents, reopening when the document was already live, and dark-chrome styling glitches shared with windowed Play.Inspector / Transform / Undo. Fixed multi-select transform scrubbing, undo, and per-axis edits not applying or syncing correctly across the Inspector and viewport gizmo; the status bar not reflecting live selection; Tab-to-type and gizmo sync regressions; Undo History mislabeling placed prefabs/VFX and reporting dishonest prefab-create undo state; class drops not restoring correctly on Redo; and undo/redo drifting out of sync with the live document.Prefab Editor. A large cluster of reliability fixes for the parked scene/prefab workflow: viewport lighting and studio HDRI environments not restoring correctly during rapid document switches, prefab document IDs changing on save, parked worlds leaking into the live viewport, the product logo flashing at the end of scene switches, empty GPU frames when switching prefab worlds, the Prefab Editor remounting and destroying the world unexpectedly, unsaved edits being lost when resuming a parked document, and prefab children being dropped when saving after a document switch. Also fixed reimporting an open prefab not refreshing parked instances, prefab instances not updating after edits, dropping prefabs inside the Prefab Editor, the isolation camera not applying on first entry, thumbnails not recapturing on Ctrl+S, and stray list scrolling during prefab drops.Project Recovery. Failed project commands now show their full output, not just a bare error code, so Details and "Fix with AI" see the real failure. The create/open/build loading overlay dims the background and dismisses correctly on failure.AI Assistant. Fixed new chats not falling back to the Default Agent Model when the last-used model was removed, Assist Actions not reflecting an updated or disabled provider, Default Agent Model not following enabled providers, a provider incorrectly showing as usable outside your Connections list (an env/vault-configured provider like DeepSeek now correctly shows as enabled), and skill-symlink handling that could leave shipped skills out of date in a project.Notifications. Toast notifications are more compact and now match the Notifications panel's surface, dismiss, and copy behavior.Play Mode. Fixed deferred asset reimports not applying when Play failed to start, and quieted extraneous console noise when playing in a new window.Viewport. Fixed fly-camera look not engaging after an unfocused first right-click.Desktop App. Fixed the Play-in-New-Window close path crashing the main Electron process, Genesys MCP staying connected across a restart without spawning an extra Mac Dock icon, and a macOS-specific path-handling bug that could misresolve the app's helper process when built on a different host OS.Editor. Fixed Outliner drag-and-drop edge-scrolling being uncontrollable, Show/Hide and related visibility mutations not redrawing under On Demand rendering, the Inspector Preview losing its transparent background or Environment Preset after being enlarged, "Promote to Master" incorrectly appearing on the viewport context menu, Mac hotkeys not displaying as Command/Option/Shift, Create Folder not defaulting to open in the Asset Browser, portable ./assets/@project scene paths not round-tripping consistently, scene thumbnails/default badges going out of sync across path aliases or when leaving the editor, and opening a generic .json file not working.CLI. Fixed self-update reinstalling by uninstalling first, which could leave the CLI in a broken state; a Windows-specific crash right after fetching an update; self-update installing and verifying by exact version instead of trusting the fetch alone; and headless/unattended project upgrades hanging on a confirmation prompt.Templates. Fixed the local dev server (pnpm dev) serving UI Kit stylesheets unstyled because raw CSS wasn't fetched correctly, and Vite failing to resolve Node polyfill shims in generated projects using the new pnpm 11 workspace settings.DeprecationsEngine. World.removeActor() and removeActors() are marked @deprecated in favor of calling destroy() directly on the node(s). They remain as thin compatibility shims for now.

ENGINE UPDATEAug 19, 2026

Engine Update Release Notes: August 19th, 2026

This release is mostly about prefabs and property references. The Prefab Editor now has its own lighting, framing, and thumbnail handling plus quicker ways to open and save prefabs, and a new Node Reference property type replaces the old split between actor and component references. It also carries a large batch of fixes for issues reported during last week's beta, particularly around prefabs and the AI Assistant.Property EditorNode Reference property type. A single node picker replaces the old dual actor and component reference lists. Hidden children are excluded from selection. (Breaking Change) componentReference is deprecated in favor of nodeReference. Existing properties keep working through a compatibility shim, and the 14.x migration notes cover the switch.Cleaner Inspector. Removed a duplicate scrollbar in the Inspector panel and nudged up text contrast.Prefab EditorPer-prefab lighting and camera. Every prefab gets its own studio lighting and isolation camera, with tighter auto-framing and preview tonemapping.Save Branch as Prefab dialog. Confirm the name and folder before the prefab is written.Quicker ways in. Open a prefab for editing from the Outliner, the viewport, or the Inspector context menu, or press /.Show in Asset Browser. New Inspector action that jumps straight to the source asset.Reliable thumbnails. Scene and prefab thumbnail capture now works consistently, including under WebGPU, and editor chrome no longer leaks into the captured image.Prefab fixes. Viewport and orientation gizmos survive entering Prefab mode and resetting the world, environment presets and lighting apply reliably, prefab and asset references hold up after a rename or move, asset paths match between Windows and macOS, and focusing a Sky object with F no longer blacks out the viewport.EditorStore game ID dialog. Generate and copy a project's Store game ID from the Title Bar menu when you are ready to publish.Expand or collapse a branch. Shift-click a chevron in the Outliner to open or close the whole branch.Names alongside UUIDs. Find References now shows object display names, as do reference comboboxes and Assistant scene search.Readable hot keys. The Hot Keys dialog shows simple Ctrl+S style chords and lets you select and copy them directly.Exiting Play Mode. Shift+Esc always works, and plain Esc works when the running game does not use Esc itself.Copy asset path. New action on Asset Browser items.Copy fix. Ctrl+C no longer occasionally fails to copy highlighted text.AI AssistantSkills under Claude Code. Skills were not being read at all, because nested skill subfolders are not supported. They now ship directly under .agents/skills with a .claude/skills link, project updates no longer risk deleting your own custom skills, and skill manifests are validated instead of any JSON file being accepted.Auto Balance by default. New Cursor chats start on Auto Balance model selection, and the recommended and default models for each provider have been refreshed.Connections that survive restarts. External IDE MCP connections (Cursor, Claude, VS Code, Codex) reconnect automatically after the Desktop App restarts.Viewport screenshots. MCP agents can locate viewport screenshots more easily.Chat and settings fixes. Vanished Cursor chats resume properly, stray empty chat tabs no longer appear, the "Thinking" header clears after an Auto reply, Default Agent Model respects your connection order, and two settings crashes when syncing the AI gateway configuration are fixed.Desktop AppSplash logo. The startup logo no longer flashes or appears mismatched while the page loads.

ENGINE UPDATEAug 12, 2026

(BETA) Engine Update Release Notes: August 12th, 2026

(BETA) ENGINE UPDATE RELEASE NOTES: August 12th, 2026A smarter, more flexible scene system.The engine's core architecture got a major overhaul. Objects in a scene are now built on a single, unified system that's more powerful and easier to work with. Everything (meshes, characters, cameras, you name it) can now live and interact in the scene more simply.Prefabs leveled up.Prefabs are now a true first-class building block: create, save, edit in place, and override individual instances on the fly, without losing the connection back to the original. Huge workflow win for anyone building reusable content.New and improved starter templates.3rd Person Action and Side-scrolling Action join the lineup, giving creators fresh, feature-rich starting points for two of the most popular game genres. FPS and Vehicle templates also got meaningfully more robust.Two new playable game examples.Grindwave and Visual Novel, ready-made examples creators can explore, learn from, and build on.AI Assistant is now available to everyone.No longer limited to internal builds, plus faster performance and a simpler sign-in flow. Pairs with a redesigned AI Settings experience, including support for a variety of the latest agents and one-click setup across tools.A more powerful, precise editor. Multi-select and edit multiple objects at once, better copy/paste and drag-and-drop, and a new one-click action to merge multiple objects into a single optimized asset.EngineActor/SceneComponent replaced by SceneNode tree. Version 14 replaces the old Actor/Component system with a unified SceneNode structure — any node can now be a placeable root, and Actor becomes a deprecated compatibility layer. Framework types like Pawn, Controller, and PlayerController no longer extend Actor, and lifecycle methods have new names. See the engine-upgrades migration notes (included in every new project) for the full mapping. (Breaking Change)Second wave of 13→14 shims removed (14.0.2). A batch of temporary compatibility functions from the last release were removed with no replacement. Check the 14.x migration notes if you're still relying on older node-query or actor-replacement helpers. (Breaking Change)Unused Actor APIs removed. A handful of little-used Actor methods and helper functions were removed with no replacement. (Breaking Change)PrimitiveNode placeable as scene root. Simple mesh/geometry objects no longer need an Actor wrapper — they can be placed directly in the scene. New lookup helpers also make it easier to find nodes by name, ID, or tag anywhere in the scene, not just at the top level. A new cleanup tool tidies up leftover wrapper objects from upgraded scenes.Compound colliders via parent aggregation. Child objects can now contribute their collision shapes to a parent's physics body, so a group of parts can act as one solid object.Character controller ground/ceiling reporting. The character controller now distinguishes between hitting the ground and hitting a ceiling, and characters can be revived after death for respawn flows.Saved scenes preserve wrapper hierarchy. Saving a scene no longer flattens grouped objects — their structure and transforms are kept intact, and older files still open fine.Top-level physics fix. Physics now works correctly for objects placed directly in a scene without an Actor wrapper. Also fixed vehicle handling issues where the game was fighting the player's throttle input.Dynamic-UV material rendering fix. Fixed materials with animated/scrolling textures turning into a flat color after leaving Play Mode.IBL texture, outline pass, and World uuid fixes. Fixed lighting/reflections breaking due to a texture bug, selection highlighting corrupting meshes, and a scene ID changing unexpectedly on save/load.Navigation mesh and legacy scene loading fixes. Fixed pathfinding data calculating incorrectly in nested scenes, and older pre-v14 scenes occasionally loading with duplicated or misplaced objects.Helper objects excluded from saved files. Internal editor-only helper objects (debug visuals, audio helpers, etc.) no longer get accidentally saved into your scene or prefab files.BehaviorTreeNode crash and NetRuntime default fixes. Fixed a rare crash in AI behavior trees, and non-networked browser games now correctly default to offline mode until a multiplayer connection is made.Actor-only names deprecated. Older Actor-based function and class names still work for now but are deprecated — switch to their SceneNode equivalents when you can.MultiplayerReplication reworked into ReplicationGroup channels. The system for syncing objects between players has been overhauled, with several related functions renamed. Check the migration notes if you have custom multiplayer code. (Breaking Change)Client-targeted spawns. Servers can now spawn networked objects that are only visible to specific players — useful for owner-only pickups.More reliable spawn/despawn retransmission. Multiplayer spawn/despawn events are now delivered more reliably even on unstable connections.Engine / Property EditoractorReference property type removed. The old way of referencing an Actor from a custom property no longer works — switch to referencing a node instead. (Breaking Change)PrefabFirst-class asset type. Prefabs now work like any other asset: create them, save changes, edit them in place, and override individual instances without breaking the link to the original.Prefab EditorStandalone Prefab Editor mode removed. There's no separate prefab editing mode anymore — you create and edit prefabs right in the main scene view. (Breaking Change)Prefab editing fixes. Fixed several bugs around editing prefabs — accidental deletions, settings not being respected, older prefab files failing to open, and a broken editing session corrupting your scene.Outliner / InspectorRebuilt around the unified scene-node tree. You can now multi-select and edit multiple objects at once, search, copy/paste, drag-and-drop reorder, and duplicate/undo more reliably.ViewportNew Add Node picker and multi-select gizmo. A new picker for adding objects to the scene, a working move/rotate/scale tool for multiple selected objects, and a toggle for editor-only lighting.Asset Browser / InspectorMerge Meshes to Model action. A new action bakes a group of objects into a single reusable asset while keeping the originals in place, with an option to merge them into one mesh.EditorTemplate and asset-pack freeze fixes. Fixed a long freeze when clicking thumbnails in New Project, a stuck project install, and Play Mode slowing down when the window loses focus.Duplicate, selection, and Outliner fixes. Fixed duplicated objects attaching to the wrong parent, stray objects showing up in the Outliner, the wrong thing getting deleted, and clicking multi-part objects not selecting the whole thing.Onboarding and startup polish. A batch of small startup and window-appearance fixes.TemplatesFPS template refreshed. More robust, with additional features to help creators get set up faster.3rd Person Action template added. New starter template with a fuller feature set for action games.Side-scrolling Action template added. New starter template with a fuller feature set for side-scrolling action games.Vehicle template refreshed. More robust, with additional features to help creators get set up faster.Game ExamplesGrindwave example added. New playable game example.Visual Novel example added. New playable game example.Genesys MCP ServerLegacy actor-era tools removed. The old AI-assistant tools for querying and acting on Actors have been replaced with node-based equivalents. (Breaking Change)Faster parallel batch operations. AI-assisted bulk edits run noticeably faster now.AI AssistantAvailable to everyone. No longer limited to internal builds — plus faster startup and a simpler sign-in option for Cursor.Cursor recommended, faster provider list. Cursor is now the recommended AI provider, and the provider list loads instantly instead of waiting on the network.MCP tool and chat reliability fixes. Fixed several bugs that could cause the AI Assistant's chat or tools to get stuck, misplace files, or silently fail without showing an error.AI SettingsRedesigned provider setup. Clearer sign-in status, new supported models (including Claude Opus 5), and a one-click flow to connect the Genesys MCP server across all your AI tools at once.Provider catalogue and OAuth fixes. Fixed a hanging setup dialog, a sign-in screen that wouldn't update after a successful login, and an update-check dialog getting stuck in a loop.Getting Started WizardNew first-launch flow. Walks new users through setup, AI connection, and onboarding — and can be re-run anytime.Environment SetupOne-click Node.js and pnpm setup. Installs or upgrades the tools you need with one click, and can repair a broken setup.Build ToolingTypeScript 6.0 upgrade. Projects now build with a newer version of TypeScript, and project configs are updated automatically.CLISQLite dependency upgrade removes toolchain requirement. Installing the SDK no longer requires extra developer tools on most systems, and it can fix itself automatically if something goes wrong.Windows build and import-path fixes. Fixed a build crash on Windows, a template rendering bug, and incorrect file paths in generated code.Project LoadingReal progress bar for older-SDK projects. Opening an older project now shows real progress instead of a spinner, loads faster, and won't get stuck.Title BarUndo/Redo buttons added. Quick-access buttons next to Save.Desktop AppNative splash screen and layout memory. A proper splash screen on launch, windows remembering their layout, and faster updates.About dialog from title click. Clicking the window title now opens an About dialog with easier version-copying.Consistent update/version banners. Update and version notices now look consistent.Publisher name and SDK-mismatch redirect fixes. Fixed a display bug on game cards and a blank screen bug when a project's SDK version doesn't match.

GAME JAMAug 6, 2026

Beta Game Jam

Following the Alpha Creator Game Jam in July, the road to launch is accelerating, and The Sandbox is launching the Beta Creators Game Jam on August 12.For this second Game Jam with The Sandbox Studio, the jury is leveling up: Larry aka @majornelson is joining the judging panel as our Lead Judge. With 15 years as the voice of Xbox, Larry is one of gaming’s most recognized names, and now he’ll be judging what Creators build with The Sandbox Studio.By joining the Beta Game Jam, participating creators have the chance to win a share of a $7,500 total prize pool.The top submissions will receive the following prizes:🥇 1st Place: $2,500 USD🥈 2nd Place: $1,600 USD🥉 3rd Place: $1,000 USDWe’re also introducing a couple of special mention and prizes to support all types of submissions Learn More

ENGINE UPDATEJul 23, 2026

Engine Update Release Notes: July 23rd, 2026

ENGINE UPDATE RELEASE NOTES: July 23rd, 2026This 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.EngineVehicle 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 SettingsDefaults and reset. Explicit default values and one-click "reset to default" for App Settings toggles (AI Assistant, Genesys MCP, Ask-before-project-update).ViewportRight-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 EditorSelect 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 EditorCopy/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 AppFloating 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 ServerExpanded 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 RecoveryRecovery 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 BrowserFix 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 ViewerPreserve texture names. Texture names are preserved as-authored instead of being renamed.DialogsFix 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.CLIFix 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.

ENGINE UPDATEJul 15, 2026

Engine Update Release Notes: July 15th, 2026

ENGINE UPDATE RELEASE NOTES: July 15th, 2026GeneralFix tooltip flicker. Tooltip flicker fixed when opening popovers.EnginePawn layered hierarchy. Pawn → MovementPawn → GameplayPawn → CharacterPawn. If you subclassed Pawn directly for gameplay characters, move to CharacterPawn (or whichever layer matches how much built-in movement/gameplay behavior you need). (Breaking Change)PlayerController simplified. PlayerController is now a minimal base for identity and possession only. Input handling (WASD/mouse/gamepad) has moved to the new DefaultPlayerController. If you relied on PlayerController for input, switch to DefaultPlayerController or implement your own controller on top of the new Controller base class. (Breaking Change)Interval-based ticking. TickManager supports interval-based ticking, so actors and scene components can run logic on a fixed interval instead of every frame.waitForLocalPlayerController(). New ClientNetWorld method resolves once the local player's Pawn is guaranteed to have spawned, removing a class of race conditions when reacting to connection setup.Smoothed connection stats. Multiplayer connection stats now include EMA-smoothed round-trip time and jitter (smoothedRttMs, rttJitterMs) on ConnectionStatsSnapshot/NetStats, also shown in the in-game debug overlay.Improved top-down panning. TopDownMovementComponent got improved screen panning that works correctly across different yaw/pitch camera orientations, plus new pan/zoom controls.Fix physics timestep handling. Fixed physics fixed-timestep/substepping and KinematicVelocityBased velocity handling.Fix missing connection options. NetClientConnectOptions was missing options needed for some connection setups; added.Fix duplicate spawn-packet retries. Duplicate server spawn-packet retries no longer re-construct an already-live client actor.Fix shadow-access crash. Fixed a crash accessing a light's shadow before the shadow was initialized.Asset CompilerBuild-time texture advisories. Advisories flag texture issues (auto-downscaled oversized textures, textures that can't be block-compressed) so problems surface at build time instead of at runtime.Vendored MP3 audio baking. MP3 audio baking during builds now uses a vendored ffmpeg, so no system ffmpeg install is required. Configurable from Project Settings.Prefab EditorDedicated scene world. Prefabs now edit in a dedicated scene world for more reliable viewport behavior and tooling support.ViewportPin camera preview. Pin the camera preview open so it stays visible when you deselect the camera.Asset BrowserDuplicate from context menu. Duplicate assets from the right-click context menu; textures with size or compression issues show a severity-colored warning badge and toast.Folder tree sync. Folder tree stays in sync when navigating or selecting folders in the grid.Fix context-menu misfire. Right-click no longer misfires an unrelated context-menu action.Desktop AppGPU Diagnostics dialog. New dialog surfaces vendor, renderer, and device info (copyable), plus a launch flag to work around GPU/rendering startup issues.Startup and title bar fixes. Title bar menu and window controls reliably appear at startup; title bar project name no longer overlaps action buttons; fixed a startup crash on the dashboard (including one specific to production builds); macOS installer (.dmg) downloads work correctly again.NotificationsToast notifications and history panel. New toast notifications plus a per-project notification history panel (bell icon, filters, mute).Property EditorFix broken camera property. Removed a broken camera property that could cause issues when edited.

ENGINE UPDATEJul 3, 2026

Engine Update Release Notes

ENGINE UPDATE RELEASE NOTESEditorMove assets and folders in the outliner— Drag assets and folders to reorganize your project. All scene references and actor links are updated automatically.On-demand viewport rendering— The viewport renders only when something changes, reducing GPU load when the editor is idle. Toggle it in viewport settings per session.Performance monitor on by default— The frame-rate and draw-call HUD is now visible by default in the viewport.Fix: VFX preview in WebGPU scenes— VFX previews now route through a minimal WebGPU render pipeline; the regression causing flickering is resolved.SDK & Asset PipelinePer-project asset compiler cache— Compiled textures and GLBs are cached between runs. Unchanged assets are skipped on the next build, speeding up incremental compiles on larger projects.Per-format texture baking toggles— Control which texture formats get KTX2-compressed independently. A maxsize cap prevents oversized texture atlases.Engine upgrade AI skill— The AI coding agent gains a skill for reasoning about and performing engine version upgrades in your project.New Engine APIsdisplayScale property metadata— Declare adisplayScaleon a@propertyto show a scaled value in the inspector while storing the raw value. Sound volumes, for example, now display as 0–100% instead of 0–1.Extended UI widget library— New widget components added with improved text sizing options, consistent with the Figma design system.Game TemplatesAll starter templates have revised lighting and post-processing: FPS, Third Person, First Person, Side Scroller, Vehicle, VR, and Free Camera. New project thumbnails reflect the updated look.Per-format texture baking togglesControl which texture formats get KTX2-compressed independently. AmaxSizecap prevents oversized texture atlases. -> A maxSizecap prevents oversized textures atlases. (Not only atlases)Breaking ChangesThese APIs were previously deprecated and have now been removed. Update your code before upgrading.GameContextConfig removedGameContextConfig, applyDeprecatedGameContextConfig, and the gameContextConfig option on BaseGameLoopOptions are gone. Pass initialWorldPath, defaultGameModeClass, and related fields directly on BaseGameLoopOptions. World physics and navigation accessors removedWorld.getPhysicsEngine(), World.getNavigationServer(), World.createPhysicsEngine(), and World.createNavigationServer() are removed. Access these subsystems via gameLoop.physicsEngine and gameLoop.navigationServer.Renderer.render(world) removedScene rendering is now managed automatically by the BaseGameLoop tick. Remove any manual renderer.render() calls from demos and custom game loops.

GAME JAMJul 2, 2026

Alpha creators Game Jam

This July, The Sandbox is launching the alpha creators Game Jam, a new kind of Game Jam designed for the next era of UGC in The Sandbox.The jam is currently open to creators participating in the alpha creator program, a curated group helping us develop and refine the platform ahead of its public release. While spots are limited, the journey will be public: expect updates, creator highlights, and a full winner announcement the whole community can follow along with.Learn More about the Game Jam