Skip to content

What's New

This page lists the highlights of each Lucky Engine release. 2026.3 is the current stable release. 2026.2 was a preview release, and 2026.1 was the first public release.

In short

Lucky Engine is a deterministic robotics simulation and data-generation tool with internal C# scripting, trained-policy support, and a gRPC API to drive the simulation from external code for reinforcement-learning training and live policy inference. The 2026.3 release adds path-traced rendering, a rebuilt editor with layouts, procedural graphs for geometry and robot motion, and per-camera recording with GPU video encoding. If you are coming from 2026.2, read Upgrading from 2026.2 first.

2026.3

A stable release. The headline additions are path-traced rendering, a rebuilt editor with layouts, procedural graphs, and per-camera recording controls. For every change, see the Release Notes.

Rendering

  • Path tracing: switch a viewport between Rasterized and Path Traced from its toolbar for physically based lighting, soft shadows, reflections and refractive glass. Path tracing needs a GPU with hardware ray tracing (NVIDIA RTX, AMD Radeon RX 6000 series or newer, or Intel Arc).
  • Real-time denoising with ReBLUR, ReLAX or, on NVIDIA RTX GPUs, NVIDIA DLSS Ray Reconstruction. Progressive refinement and adaptive sampling give clean stills, and view modes show normals, UVs, albedo, transmission and motion.
  • Photographic cameras: Manual, Manual (Physical Camera) and Automatic (Eye Adaptation) exposure, and a Physical camera mode with lens, aperture and sensor settings. The viewport camera has its own field of view, clip planes, exposure and, when path tracing, depth of field.
  • Lights and materials: area lights and emissive materials light path-traced scenes, point and spot light falloff is physically based, and glass gains Attenuation and Dispersion.
  • The Scene Renderer panel has a new Rendering page, Convolution (FFT) bloom, and NVIDIA DLSS upscaling for the Rasterized mode. Ambient occlusion, shadow distance and shadow cascades are fixed, and a Directional shadow bias setting reduces shadow acne.

Editor

  • One rebuilt editor interface: a side bar of layouts (Scene, Files, Server, Observe), a docking workspace, title-bar buttons for common panels, a status bar and notifications.
  • Custom layouts you can create, rename, re-icon and reorder, save with the project or to .hlayout files, and share. Drag a tab out of the editor to give it its own window, and use Fullscreen (or Tab in the viewport) to hide the side and bottom zones.
  • A new Welcome screen with recent projects, templates (a blank project, Unitree G1 and Emika Panda) and example downloads. See Get Started.
  • Smarter number fields: drag with Shift or Ctrl for finer or coarser steps, type arithmetic such as 0.5*3 or sqrt(2), reset a vector component from its axis badge, and move between fields with Tab. A new searchable picker serves Add Component and asset, entity and script fields.
  • Files open in their own tabs: a Text Editor, Image Viewer, Video Player and Parquet Table. One unsaved-changes prompt covers the scene, Text Editor tabs and graph editors.
  • Settings gains a Custom Layouts page, and the UI scale has shortcuts (Ctrl+=, Ctrl+-, Ctrl+0). Help → Check for Updates and update notifications tell you when a new version is out.

Viewport

  • Several viewports at once, each with its own camera and settings. Split them side by side or move one to its own window.
  • A toolbar across every viewport: transform tools, Play controls, the Rasterized and Path Traced buttons with a Path Tracing menu, Overlay and Colliders toggles, and a Camera menu. Each Scene tab remembers its own camera, overlays and render mode, and Set Scene Default View stores a tab's view in the scene.
  • 3D camera and spot light icons that show the camera's frustum or the light's cone when selected.
  • Drop several meshes into the viewport at once and they land side by side. Camera navigation accepts the right-hand Shift, Ctrl and Alt keys.

Assets and content

  • A rebuilt Content Browser: an Up to parent directory button, Back and Forward that follow your browsing history, new file-type icons and graph thumbnails. Asset fields in the Inspector open a new searchable asset picker.
  • The Content Vault has a Procedural Graphs category, and its pack list appears immediately from a local cache, in the order the packs are published.

Procedural graphs

  • Procedural graphs (.hpodgraph): one node-graph asset and editor for procedural geometry, robot motion, animation and audio. They replace the separate motion, animation and sound graphs of earlier releases.
  • Procedural primitives and the Procedural Mesh component: add a Procedural Cube, Procedural Sphere or another shape from Create → 3D, tune it in the Inspector, or use Promote to Graph to edit its graph.
  • Exposed graph parameters appear in the Inspector, can be overridden per instance, and can be changed from C#.
  • Procedural geometry can collide in MuJoCo, graphs with several bodies and joints become articulated bodies automatically, and graphs can build cables that bend and hang under physics.

Robots

  • Robot motion graphs are procedural graphs. The Robot Controller lists the graph's inputs in the Inspector so you can set them for each robot. See Attaching a motion graph.
  • A new Welcome project: a Panda arm picks marbles out of a procedurally built marble run with an inverse-kinematics motion graph, path traced by default. See Example Projects.
  • The new Welcome screen's templates for Unitree G1 and Emika Panda start a new project with the robot already in the scene.
  • A Robots panel (View → Robots) lists the robots you can download and add. Click one to add it to the scene or drag it into a viewport; Robots in the viewport's Create menu opens the same list.

Recording and data

  • Custom Schema recording: list exactly the joint, actuator, sensor and body-pose values to record in a small YAML file, and get one typed Parquet column for each.
  • GPU video encoding without FFmpeg: the In-Process GPU H.264 and HEVC options record colour video on the graphics card on Windows and Linux, are the default for new scenes, and fall back to FFmpeg where the GPU cannot encode. Depth, masks and lidar video proxies still use the external FFmpeg program.
  • Per-camera recording controls: each camera binding has its own Depth Mode, Frame Rate and Render Mode, and Recorder Status switches each camera, and the data and lidar recorders, on or off and shows each camera's status.
  • Path-traced datasets: record any camera with the path tracer, with a choice of denoiser (including OIDN and NVIDIA DLSS Ray Reconstruction) and quality preset. meta/info.json flags runs that are not bit-reproducible. See Dataset Format.
  • More robust recording: metadata is saved during the session, a broken video, depth or lidar stream marks its episode unsuccessful, and Observer.IsEpisodeOpen tells scripts whether an episode is open.

Sensors

  • Glass, water, mirrors and foliage. Materials gain near-infrared transmission, absorption and continuation channels, and a continuation class says what the pulse does past the first surface: a window passes it through, water absorbs it, a mirror folds it into a phantom point. Twelve measured 905 nm presets are one click in the Material Editor, in Authoring a material.
  • Secondary returns: a beam through glass, water or foliage can record a second, weaker hit behind the first. Capture is opt-in per sensor and stores material-agnostic geometry, so a recording can be re-tuned later.
  • The depth sensor model reads the same authored materials, with no bake. Depth now sees through a window and dims what is behind it, and fades a pool floor out with depth. Head-on, where the pane's glint is strongest, it reports the pane itself: the angle-dependent flicker real hardware shows.
  • Nine diagnostic channels on each depth camera report one internal term of the sensor model for every pixel, including the dropped ones, which is what makes a dropout traceable to its cause.
  • Lidar bake settings are saved with the scene. The Lidar Replay panel detects a stale bake, offers Re-bake, and blocks export until the bake matches the scene. Points can also be coloured by Calibrated reflectivity.
  • Over gRPC, scans can return per-beam intensity and calibrated reflectivity, and the lidar service gained bake status, return-parameter reads and secondary-capture control. Camera configuration gains depth_mode and debug_channel.

Scripting

  • Script projects are generated from a premake5.lua in your project that you can customise, and projects from older releases are upgraded automatically.
  • PodComponent.SetParameter and ResetParameter change a procedural mesh's exposed parameters from a script, and SetBodyMaterialEmission makes a generated body glow; see Changing Procedural Graph Parameters from Scripts.
  • MujocoSceneComponent gains lidar intensity, bake-status and secondary-return methods and per-camera depth modes. SetCameraConfig now takes a depth mode; see Upgrading from 2026.2.
  • Observer.IsRecording matches the real recording state, and Observer.IsEpisodeOpen is new. See Recording with the Observer.

AI assistants and automation

  • AI assistants connect to the editor's local MCP server at http://127.0.0.1:19331/mcp to query and edit the open scene, capture screenshots, author procedural graphs and create projects from Content Vault packs, and the scene edits they make can be undone. The in-editor Agent panel is gone.
  • Path-traced observations over gRPC: set a camera's Recorder binding to Path Traced, and its Step frames and camera and viewport streams come back path traced.
  • Smoother client hand-off: after a client reports that it has finished, the External Action Gate stays released through resets, so the scene keeps running. A Step whose camera cannot be captured still advances and returns its observation.
  • The command line gains --help and --version, and stops with an error and a non-zero exit code on options it does not recognise.

Platforms

  • Windows and Linux (64-bit) are the supported platforms. macOS builds are experimental and do not include path tracing.
  • Path tracing needs a GPU with hardware ray tracing, and the NVIDIA DLSS features need an NVIDIA RTX GPU. In-process GPU video encoding is available on Windows and Linux.
  • The editor's executable is now named LuckyEngine (LuckyEngine.exe on Windows).

Upgrading from 2026.2

Read these notes before you open a 2026.2 project in 2026.3, and keep a copy of the project until you have checked it.

  • Graph files. Procedural graphs (.hpodgraph) replace motion graphs (.hmograph), animation graphs (.hanimgraph) and sound graphs (.sound_graph). There is no automatic conversion, and Content Vault packs or imported projects that still contain the old formats are rejected. Recreate your graphs as procedural graphs.
  • Scenes with a motion or animation graph. A scene saved in 2026.2 with a motion graph on a Robot Controller, or an animation graph on an Animation component, does not open in 2026.3, and neither does a prefab that contains one. Before you upgrade, open such a scene in 2026.2, clear the Robot Controller's Motion Graph field and the Animation component's Animation Graph field, and save. In 2026.3, assign a procedural motion graph; see Attaching a motion graph.
  • Editor interface and the Agent panel. The Simple and Advanced modes are gone: arrange panels with layouts instead. Settings and sign-in (Profile) are on the side bar, and recorded .parquet files open in a Parquet Table tab instead of the Data Viewer. The Agent panel is gone too: connect an AI assistant through the MCP server.
  • Depth recording. The scene-wide Depth Mode and the per-camera Record Depth checkbox are replaced by a Depth Mode on each camera binding, in Settings → Scene → Recorder on the Video tab. Scenes from 2026.2 are migrated automatically. See Recording.
  • SetCameraConfig in C#. MujocoSceneComponent.SetCameraConfig now takes int depthMode (0 Off, 1 RGBD, 2 Separate, 3 DepthOnly) where it took bool recordDepth, and GetCameraConfig returns the depth mode in place of the flag. Update scripts that call them.
  • Observer.IsRecording. It now reports the recorder's real state, so it also turns false when a session ends on its own, for example when Total Episodes is reached or Stop Recording is clicked. Check scripts that wait on it; see Recording with the Observer.
  • Camera exposure. Cameras default to Automatic (Eye Adaptation) exposure, including cameras in 2026.2 scenes, so a scene may look brighter or darker than before. Choose Manual to go back to a fixed exposure. See Cameras and Exposure.
  • Render mode. Scenes from 2026.2 open in Rasterized mode. Click Path Traced on the viewport toolbar; each Scene tab remembers its mode. To make it the scene's default, use Camera → Set Scene Default View and save the scene. See Rendering.
  • Light falloff. Point and spot lights use physically based falloff, and their Falloff setting is gone; the C# Falloff properties no longer have any effect. Check light intensities in 2026.2 scenes. See Lights and Materials.
  • Glass materials. A material marked Transparent is always glass. The Transparency, Transmission and Thickness controls are gone, and the Glass section has IOR, Attenuation, Dispersion and Tint. The old Transmission value moves to NIR transmission for the sensors. Review transparent materials from 2026.2.
  • Lidar bakes. Material bakes saved by 2026.2 still load, but the Lidar Replay panel reports them as stale and blocks export until you re-bake.
  • Placing robots. Robots are no longer dragged from the Content Vault panel into the scene. Place them from the Robots panel (View → Robots), or from Robots in the viewport's Create menu; see Robots.
  • Recording settings. Record Video is now two settings, Record Cameras and Record Color Video. New scenes default to the In-Process GPU (H.264 / Vulkan Video) format; scenes from 2026.2 keep the format they were saved with. See Video Encoding and FFmpeg.
  • Sync points and priorities. Internal Phase Priority now orders systems within a phase; 2026.2 saved it but ignored it, so in 2026.2 scenes animation now runs before the robot controllers in the Control phase. A scene saved in 2026.2 keeps its Sync Point System on the runner it was saved with, usually the 50 Hz Robot runner, so every step is a sync point. See Order within a phase and Sync points.
  • gRPC clients. Regenerate your stubs from the .proto files that ship with 2026.3 to use the new fields. A Step whose camera cannot be captured now advances the simulation and returns success=false, so check success on every Step; see Camera frames.
  • Command line. The editor's executable is now LuckyEngine (LuckyEngine.exe on Windows) instead of LuckyEditor. It rejects unknown or repeated options, a missing project file and --headless, and exits with an error instead of starting. Check scripts and tools that launch the editor; see Command Line.

2026.2 (Preview)

A preview release. The headline additions are LiDAR, depth and RGBD recording, a new rendering backend, and a refreshed editor interface.

Sensors and data

  • Simulated LiDAR, with a live viewport preview and per-sensor recording. Both spinning and Livox non-repetitive scan patterns are supported, with return-model presets for the Unitree L1, Livox Mid-360, and Ouster OS1.
  • Depth and RGBD recording: lossless 16-bit depth, written next to the colour stream and reaching the dataset as observation.images.<Name>_depth.
  • Depth scale is now set per camera, which fixes near-range depth reading as black. Cameras can opt out of depth or masking individually, and Depth Mode moved to the Video settings tab.
  • Both sensors are readable over gRPC: a new LidarService polls scans, and Step can request a depth frame alongside colour.
  • The Lidar Replay panel exports a material-informed variant of a clean recording, with an augmentation.json beside it recording the seed, parameters and bake identity that produced it.

Rendering

  • The renderer moved to a new graphics backend.
  • Startup is faster.

Editor

  • Editor icons stay sharp at any scale and on high-DPI displays.
  • Window controls look and feel native on Windows, including Snap Layouts. On macOS, title bar padding and flycam modifier handling are fixed.
  • Scenes can be opened from the command line with --scene. Recent scenes are tracked per project.

Stability

  • Opening and switching projects is far more reliable, and a long tail of shutdown crashes is fixed.

Platforms

  • Windows and Linux remain the supported platforms. macOS is experimental in this preview. Title bar and input handling are much improved.

2026.1

The first public release.

Simulation

  • Deterministic simulation driven by the Time Manager: multiple fixed-rate time runners interleave on a single nanosecond-accurate timeline, and run in real time or faster than real time.
  • MuJoCo physics for robots, with Jolt and Box2D solvers also available.

Robots and control

  • Multiple ways to drive a robot: direct joint states, torques, node-based motion graphs, inverse kinematics, and trained policies, with several policies active on one robot at once. See Controlling robots.
  • A Content Vault of ready-made robots (Franka Panda, AgileX Piper, Enactic OpenArm, Unitree Go2, Unitree G1) and example projects (Welcome, Piper Pattern Stacking, Walking Pick and Place). Any MuJoCo XML (MJCF) model can be imported too.

Content and data

  • A Content Browser and asset system for scenes, meshes, materials, MJCF models, policies, and motion graphs.
  • Data and video recording through the Observer: Parquet datasets and camera video, covered in Recording.

Programming

  • A C# scripting API for scene behaviour, robot control, and reinforcement-learning task definition.
  • A gRPC API for driving simulations from any language, with a Python helper and Gymnasium environments. It supports reinforcement-learning training and policy inference. A registered robot or agent and the External Action Gate give strict lock-step stepping, where one Step advances exactly one sim tick. The post-reset settle window is configurable per scene.

Platforms

  • Windows and Linux, 64-bit. Requires a GPU supporting Vulkan 1.3.

New to Lucky Engine? Start with Get Started.