Release Notes#
6.1.0 GA#
Release highlights#
General#
Updated Isaac Sim to Kit SDK 110.3.0.
Added
active_cuda_gpustoSimulationAppfor selecting renderer GPUs by CUDA device order, and reduced the default CPU thread limit from 32 to 16.
PhysX and Newton#
Updated the experimental Newton integration to Newton 1.5.0.
Added support for Newton solvers, including Vertex Block Descent (VBD) and Extended Position-Based Dynamics (XPBD).
Added support for hydroelastic contacts.
Added UI workflows for authoring robots with MuJoCo and Newton schemas.
Expanded the tensor APIs to improve parity with the PhysX backend and interoperability between PhysX and Newton.
Fixed usability issues and narrowed behavioral gaps between the Newton and PhysX backends.
Synthetic data generation#
Perception data generation (Replicator)#
Added a synthetic data generation (SDG) example that uses NVIDIA 3D Object Reconstruction assets.
Migrated the UR10 palletizing and behavior-randomizer examples to Replicator functional APIs and
isaacsim.coreAPIs.
Action and event data generation#
Actor simulation and synthetic data generation (
isaacsim.replicator.agent)Added explicit spawn positions and orientations for pinning character and robot start poses. You can edit these values in the group panels.
Made sensor-group placement optional and added the
push_cartsample configuration.Added a visual-noise and image-degradation example that uses RTX post-processing.
Updated robot animation through Fabric with
isaacsim.anim.robot.
Object simulation and synthetic data generation (
isaacsim.replicator.object)Improved bin packing with gravity-stable placement, more diverse layouts, and an optional fill ratio.
Improved annotator output stability and compatibility with Kit SDK 110.
Physical-space event generation (
isaacsim.replicator.incident)Included spill liquids in semantic-segmentation output.
Vision language model (VLM) scene captioning (
isaacsim.replicator.caption)Improved camera selection and exposed caption-model settings in both the UI and
CaptionAPI.
AI-based behavior tree generation (
omni.ai.behavior_tree_gen)Improved scenario-planning and tree-generation accuracy and stability.
AI-based scene generation (
omni.ai.langchain.agent.chat_iro)Added support for user-supplied models and endpoints, including OpenAI-compatible endpoints and self-hosted NVIDIA NIM deployments.
Sensor placement and calibration (
isaacsim.sensors.rtx.placementandisaacsim.sensors.rtx.calibration)Improved the accuracy of maximum-coverage camera placement.
Added eleven Action and Event Data Generation agent skills under
skills/for run planning, configuration sweeps, camera placement, incident events, bin packing, and scene captioning.Added telemetry to the Action and Event Data Generation toolsets for monitoring system efficiency and behavioral trends.
Teleoperation synthetic data generation#
Added physics-velocity locomotion, MCAP recording and replay, configuration-driven floating grippers, shared Kit OpenXR and CloudXR sessions, and Windows support for non-VR and debug workflows.
Added typed live and MCAP input providers and cross-platform capability discovery.
Robots#
Added the SO-101 System Identification (SysID) and Clearpath A300, J100, and DO100 robots.
Expanded the URDF and MJCF importers to import additional Newton parameters.
Improved URDF Exporter reliability through numerous bug fixes.
Expanded the Gain Tuner to support the PhysX and Newton backends, tune Newton actuators, and edit advanced joint-drive parameters.
Added beta System Identification tools for headless and interactive optimization of robot simulation parameters.
Expanded exported robot-policy deployment with ONNX support, exported actuator configurations, observation history, and PhysX and Newton examples.
Added the Virtual Gantry runtime, schema, and UI for suspending robots during bring-up and policy testing with PhysX or Newton.
Sensors#
Cameras and depth sensors#
Added a camera-authoring tutorial that demonstrates how to create a reusable camera asset with lens distortion, tick rate, resolution, and supported outputs. You can add the resulting asset to robots or environments for synthetic data generation and software-in-the-loop (SIL) workflows.
Updated
SingleViewDepthSensorto wrap depth sensors that use existing, user-defined render products.Expanded the sensor-catalog documentation for SICK and Luxonis assets.
Fixed several issues in the
RtxCameraandCameraSensorAPIs.
RTX non-visual sensors#
Added the Sensor Processing Graph (SPG) authoring API.
Added viewport coloring of RTX LiDAR and Radar point clouds by metadata, such as intensity and radial velocity.
Reduced or eliminated CUDA errors when running different sensor modalities or tick rates and during extended simulations.
Fixed several issues in the
isaacsim.sensors.experimental.rtxAPIs.Added Newton support for inertial measurement unit (IMU) and contact sensors and improved the correctness and performance of contact, effort, and inertial sensors.
Bridges#
ROS 2#
Added ROS 2 Control support with the new
isaacsim.ros2.controlextension. Its in-process, physics-driven Controller Manager supports ROS 2 Humble and Jazzy, PhysX and Newton, multiple robots, sensors, mimic joints, and generated URDFs.Added aggregation of compatible transform (TF) publishers into a single merged
TFMessageper frame, reducing the number of ROS 2 publish calls.Added automatic bundled ROS 2 environment setup to Python launchers. Use
--no-ros-envto opt out.Added ROS 2 High Efficiency Video Coding (HEVC)/H.265 compressed RGB image publishing with hardware-accelerated encoding.
Added public point-cloud utilities.
Isaac Sim ROS Workspaces repository#
Migrated repository-owned launch files from Python to XML.
Expanded Pixi support to include ROS 2 Humble, AArch64, example interfaces, and Greenwave Monitor.
Added ROS 2 Control and MoveIt 2 demos for the UR10 with ROS 2 Humble and Jazzy.
Added launch-time Isaac Sim Python scripting.
Added automatic H.264 and HEVC image decoding.
Fixed Ackermann conversion, H1 IMU integration, ROS 2 Control startup, Windows scripts, and Pixi environment isolation.
Upgraded Docker builds, ROS key handling, dependencies, and continuous integration coverage across supported ROS and Ubuntu combinations.
ZeroMQ#
Added an example extension that demonstrates communication between Isaac Sim and an external process through ZeroMQ.
Added ZeroMQ OmniGraph publish and subscribe nodes and moved the shared protobuf schemas to
isaacsim.zmq.protos.
Docker#
Added an opt-in workflow for hot-reloading bind-mounted Python extensions during container development.
Added a persistent Kit shader-cache mount across container runs.
Added guidance for configuring writable host bind mounts for the rootless container user.
Live streaming#
Updated the Docker Compose WebRTC viewer to use the React-based Omniverse Web SDK sample.
Motion generation#
Ported the differential-drive, Ackermann, and holonomic controllers in
isaacsim.robot_motion.controllersto theBaseControllerAPI for a consistent controller interface.Added reusable Franka and UR10 manipulation examples.
SimReady asset catalog#
Expanded the SimReady asset library to 1,533 assets, including a large collection of hospital assets.
Added license-attribution files to most assets to define their supported uses.
Added Asset Region Profiles for faster and easier access to SimReady assets, and updated the default asset root for the Isaac Sim 6.1 catalog.
Added license and owner metadata to asset packages.
Common changes#
The following repository-wide changes affect many extensions and are listed once instead of being repeated in every extension entry:
Migrated robot asset references from
Isaac/Robots/to the multiphysics-ready assets underIsaac/Robots_Multiphysics/.Renamed C++ headers from
.hto.hpp. Update downstream include directives.Defined supported package-root Python APIs explicitly, removed lifecycle implementation classes from generated API documentation, and updated cross-extension imports to use supported public entry points.
Split several reusable components into independently packaged wheels or extensions, including Asset Transformer, robot schemas, robot-motion schemas, Gain Tuner UI, Python Server UI, and ZeroMQ protobuf schemas.
Breaking changes and deprecations#
Change |
Action required |
Removed in |
|---|---|---|
Renamed C++ headers from |
Update downstream include directives. |
6.1.0 |
Removed Robot Poser kinematics, math, and inverse kinematics APIs from |
Import these APIs from |
6.1.0 |
Replaced |
Use |
6.1.0 |
Moved the physics, joint, drive, robot-schema, and material validation rules out of |
Use the corresponding SimReady foundation validation tiers, which are now the single source of truth for these rules. |
6.1.0 |
Changed teleoperation grasp-target units to degrees for revolute joints and stage linear units for prismatic joints. |
Convert revolute grasp-target values that previously used radians to degrees. |
6.1.0 |
Changed the Gain Tuner natural-frequency conversion APIs to require |
Pass the drive’s stored-gain convention through |
6.1.0 |
Moved the ZeroMQ protobuf schemas and generated bindings out of |
Import message classes from |
6.1.0 |
Removed the ROS 1 transform listener from |
Use the ROS 2 transform listener. |
6.1.0 |
Removed schema-backed fields from |
Configure solver properties on the Newton physics scene. |
6.1.0 |
Deprecated the |
Remove the argument or input and consume the specific force reported by the IMU. |
Not specified. |
Deprecated |
Construct a new |
7.0.0 |
Removed the retired SICK TiM781 sensor asset. |
Use the SICK picoScan100 family. |
6.1.0 |
Known issues#
For known issues, see Known Issues.
Kit SDK version#
Changed: 110.1.2 -> 110.3.0
Kit SDK dependency version changes#
Added#
omni.cip.deploy.ui: 1.3.1
omni.cip.mega.deploy.ui: 1.1.2
omni.cip.mega.mcp: 2.1.4
omni.cip.mega.mcp.pip_prebundle: 0.1.0
omni.cip.waypoints: 2.1.4
Changed#
isaacsim.anim.robot.core: 1.4.2 -> 1.4.4
isaacsim.app.compatibility_check: 1.1.4 -> 1.1.6
isaacsim.exp.full: 6.0.1 -> 6.1.0
isaacsim.kit.xr.teleop.bridge: 1.1.2 -> 1.1.4
isaacsim.replicator.agent.core: 1.6.8 -> 1.7.9
isaacsim.replicator.agent.ui: 1.0.36 -> 1.2.0
isaacsim.replicator.caption.core: 0.7.10 -> 0.7.13
isaacsim.replicator.incident.core: 0.11.8 -> 0.11.11
isaacsim.replicator.object.core: 0.11.12 -> 0.11.16
isaacsim.sensors.rtx.calibration: 0.3.10 -> 0.3.11
isaacsim.sensors.rtx.placement: 0.16.10 -> 0.16.14
isaacsim.util.debug_draw: 3.2.3 -> 3.2.6
isaacsim.xr.input_devices: 1.0.4 -> 1.1.4
omni.ai.behavior_tree_gen.bridge: 1.0.4 -> 1.0.8
omni.ai.behavior_tree_gen.core: 1.0.2 -> 1.0.6
omni.ai.langchain.agent.chat_iro: 2.2.11 -> 2.2.15
omni.anim.asset: 110.1.0 -> 110.3.0
omni.anim.behavior.bundle: 110.1.0 -> 110.3.0
omni.anim.behavior.core: 110.1.4 -> 110.3.5
omni.anim.behavior.schema: 110.1.0 -> 110.3.0
omni.anim.behavior.tree: 110.1.3 -> 110.3.0
omni.anim.behavior.ui: 110.1.4 -> 110.3.0
omni.anim.curve.core: 1.6.0 -> 1.6.1
omni.anim.graph.bundle: 110.1.1 -> 110.3.0
omni.anim.graph.core: 110.1.2 -> 110.3.0
omni.anim.graph.schema: 110.1.1 -> 110.3.0
omni.anim.graph.ui: 110.1.2 -> 110.3.0
omni.anim.navigation.bundle: 110.1.0 -> 110.3.0
omni.anim.navigation.core: 110.1.4 -> 110.3.0
omni.anim.navigation.schema: 110.1.0 -> 110.3.0
omni.anim.navigation.ui: 110.1.1 -> 110.3.0
omni.anim.retarget.bundle: 110.1.0 -> 110.3.0
omni.anim.retarget.core: 110.1.0 -> 110.3.0
omni.anim.retarget.preview: 110.1.0 -> 110.3.1
omni.anim.retarget.ui: 110.1.0 -> 110.3.0
omni.anim.skelJoint: 110.1.0 -> 110.3.1
omni.asset_validator.core: 1.19.3 -> 1.20.1
omni.asset_validator.ui: 1.19.3 -> 1.20.1
omni.behavior.scripting.bundle: 110.1.0 -> 110.3.0
omni.behavior.scripting.core: 110.1.0 -> 110.3.0
omni.behavior.scripting.ui: 110.1.0 -> 110.3.0
omni.behavior.tree.bundle: 110.1.0 -> 110.3.0
omni.behavior.tree.core: 110.1.9 -> 110.3.0
omni.behavior.tree.schema: 110.1.0 -> 110.3.0
omni.behavior.tree.ui: 110.1.12 -> 110.3.0
omni.cip.core: 2.0.23 -> 2.1.5
omni.cip.mega: 2.0.18 -> 2.1.4
omni.cip.mega.occupancy_map_ui: 2.0.7 -> 2.1.2
omni.cip.mega.scenario_payload_ui: 2.0.6 -> 2.1.1
omni.cip.mega.ui: 2.0.18 -> 2.1.4
omni.cip.mega.waypoints_ui: 2.0.5 -> 2.1.4
omni.cip.pip: 2.0.5 -> 2.1.2
omni.cip.ui: 2.0.5 -> 2.1.2
omni.cip.workspace: 2.0.3 -> 2.1.2
omni.cip.wrapp_ui: 2.0.2 -> 2.1.1
omni.convexdecomposition: 110.1.13 -> 110.3.2
omni.cuopt.examples: 1.4.2 -> 1.4.4
omni.cuopt.service: 1.3.3 -> 1.3.5
omni.cuopt.visualization: 1.4.2 -> 1.4.3
omni.flowusd: 110.0.3 -> 110.0.4
omni.graph.window.core: 3.10.4 -> 3.10.5
omni.kit.asset_converter: 6.0.1 -> 6.0.5
omni.kit.browser.folder.core: 2.0.2 -> 2.0.3
omni.kit.browser.material: 1.6.5 -> 1.6.6
omni.kit.converter.cad: 209.4.0 -> 209.5.2
omni.kit.converter.common: 510.1.3 -> 511.0.0
omni.kit.converter.dgn: 510.1.5 -> 510.1.7
omni.kit.converter.dgn_core: 512.3.3 -> 513.0.0
omni.kit.converter.gsplat: 0.1.14 -> 0.1.16
omni.kit.converter.hoops: 510.3.0 -> 510.4.1
omni.kit.converter.hoops_core: 511.3.2 -> 512.0.0
omni.kit.converter.jt: 509.1.2 -> 509.1.4
omni.kit.converter.jt_core: 510.1.1 -> 511.0.0
omni.kit.environment.core: 1.4.2 -> 1.4.3
omni.kit.graph.delegate.default: 1.2.5 -> 1.2.6
omni.kit.livestream.app: 10.1.1 -> 10.3.1
omni.kit.livestream.core: 10.2.1 -> 10.4.0
omni.kit.livestream.messaging: 1.3.0 -> 1.3.3
omni.kit.livestream.rtsp: 10.2.3 -> 10.4.1
omni.kit.livestream.webrtc: 10.3.2 -> 10.7.0
omni.kit.pointclouds: 1.6.14 -> 1.6.15
omni.kit.profiler.tracy: 1.2.0 -> 1.2.1
omni.kit.property.physics: 110.1.13 -> 110.3.2
omni.kit.stage_column.variant: 1.0.20 -> 1.0.21
omni.kit.thumbnails.mdl: 1.0.28 -> 1.2.0
omni.kit.timeline.minibar: 1.2.13 -> 1.3.1
omni.kit.tool.asset_importer: 6.0.1 -> 6.0.2
omni.kit.tool.measure: 200.0.12 -> 200.0.14
omni.kit.tool.remove_unused.controller: 0.2.0 -> 0.3.1
omni.kit.variant.editor: 107.5.8 -> 107.5.10
omni.kit.waypoint.core: 1.6.9 -> 1.6.10
omni.kit.widget.timeline: 107.0.2 -> 107.0.4
omni.kit.widgets.custom: 1.1.2 -> 1.1.3
omni.kit.window.material_graph: 2.2.0 -> 2.2.1
omni.kit.window.movie_capture: 3.0.1 -> 3.0.9
omni.kit.window.section: 107.1.4 -> 107.2.0
omni.mega.schema: 2.0.5 -> 2.1.0
omni.metropolis.agent_registry: 0.1.2 -> 0.1.4
omni.metropolis.utils: 1.1.2 -> 1.1.3
omni.physics: 110.1.13 -> 110.3.2
omni.physics.isaacsimready: 110.1.13 -> 110.3.2
omni.physics.physx: 110.1.13 -> 110.3.2
omni.physics.physx.ui: 110.1.13 -> 110.3.2
omni.physics.stageupdate: 110.1.13 -> 110.3.2
omni.physics.tensors: 110.1.13 -> 110.3.2
omni.physics.ui: 110.1.13 -> 110.3.2
omni.physx: 110.1.13 -> 110.3.2
omni.physx.asset_validator: 110.1.13 -> 110.3.2
omni.physx.bundle: 110.1.13 -> 110.3.2
omni.physx.camera: 110.1.13 -> 110.3.2
omni.physx.cct: 110.1.13 -> 110.3.2
omni.physx.commands: 110.1.13 -> 110.3.2
omni.physx.cooking: 110.1.13 -> 110.3.2
omni.physx.demos: 110.1.13 -> 110.3.2
omni.physx.fabric: 110.1.13 -> 110.3.2
omni.physx.foundation: 110.1.13 -> 110.3.2
omni.physx.gpu: 110.1.13 -> 110.3.2
omni.physx.graph: 110.1.13 -> 110.3.2
omni.physx.pvd: 110.1.13 -> 110.3.2
omni.physx.supportui: 110.1.13 -> 110.3.2
omni.physx.tensors: 110.1.13 -> 110.3.2
omni.physx.tests: 110.1.13 -> 110.3.2
omni.physx.tests.visual: 110.1.13 -> 110.3.2
omni.physx.ui: 110.1.13 -> 110.3.2
omni.physx.vehicle: 110.1.13 -> 110.3.2
omni.replicator.core: 1.13.27 -> 1.13.36
omni.replicator.nv: 1.1.1 -> 1.1.6
omni.scene.optimizer.analysis: 110.1.0 -> 110.2.1
omni.scene.optimizer.bundle: 110.1.0 -> 110.2.1
omni.scene.optimizer.core: 110.1.0 -> 110.2.1
omni.scene.optimizer.ui: 110.1.0 -> 110.2.1
omni.scene.optimizer.validators: 110.1.0 -> 110.2.1
omni.services.client: 0.5.6 -> 0.5.9
omni.services.convert.asset: 510.0.2 -> 510.0.4
omni.services.convert.cad: 508.0.4 -> 508.0.6
omni.services.core: 1.11.0 -> 1.12.0
omni.services.facilities.monitoring.metrics: 0.3.1 -> 0.3.2
omni.services.pip_archive: 0.18.7 -> 0.18.14
omni.simready.content.browser: 0.3.7 -> 0.3.8
omni.usd.fileformat.pts: 110.0.2 -> 110.0.3
omni.usd.metrics.assembler.physics: 110.1.13 -> 110.3.2
omni.usd.schema.physx: 110.1.13 -> 110.3.2
omni.usdex.libs: 2.2.2 -> 2.3.0
omni.usdphysics: 110.1.13 -> 110.3.2
omni.usdphysics.ui: 110.1.13 -> 110.3.2
omni.warp.core: 1.13.0 -> 1.16.0
Extensions#
This section lists notable functional changes—new APIs, behavior changes, deprecations, removals, and bug fixes that affect users. All new extensions are listed; internal maintenance, documentation-only changes, and test-only changes to existing extensions are omitted.
isaacsim.asset.exporter.urdf (2.0.5 -> 2.2.6)
Added
Export
NewtonMassAPInewton:inertiatensor directly to URDF<inertia>, taking precedence over principal-axis reconstruction.Material export: read OmniPBR/MDL parameters (diffuse, roughness, metallic, emissive) from the
.mdlsource (resolved against its authoring layer) when not authored as USD shader inputs; USD inputs take precedence.Write roughness/metallic to
.mtl(Pr/Pm) and bake a diffuse texture’s average color intoKd, so material appearance round-trips on reimport.UsdToUrdfConverter.convert: add a callback for modifying the completed URDF XML before it is written.UsdToUrdfConverter: optionally export colliding site ghost links with numeric suffixes.
Changed
Pinned
usd-exchangeto 2.3.0 for reproducible standalone installs.
Fixed
Apply composed parent and robot scale to exported primitive geometry dimensions.
Classify visual/collision meshes by computed (inherited) purpose.
Export X-axis and Y-axis cylinder and capsule orientations correctly.
Export native USD joint effort limits using PhysX DriveAPI
maxForcewhen available, falling back to theurdf:limit:effortattribute otherwise.Export unbounded USD revolute joints (
±inflimits) as URDF continuous joints.Ignore unauthored or non-finite PhysX DriveAPI
maxForcevalues when exporting URDF joint effort limits.Imported joint friction as
newton:frictioninstead ofphysxJoint:jointFriction.Re-apply the root prim’s world scale (the component that
GetInverse()removes) to the frame-relative transforms, so it propagates to all links.Read joint velocity limits from canonical
newton:velocityLimitmetadata while preserving finite legacyurdf:limit:velocityvalues for backward compatibility.Rebase the physical root link’s transform relative to the robot prim so ancestor Xform offsets no longer leak into exported joint origins.
Reconstruct products of inertia correctly from rotated USD principal axes.
Robustness: strip scale from stored link frames, so an inherited scale cannot cancel the re-applied root scale.
Skip geometry-bearing Xforms spuriously tagged
IsaacSiteAPI.Skip site ghost links whose resolved name matches an existing URDF link (for example, multiphysics UR10e
base_link/base_link)._fmt: use significant-figure formatting so tiny valid inertias (~1e-10) are preserved instead of rounded to0.export_duplicate_ghost_links: rename site links that collide with their parent link name instead of always skipping them.
isaacsim.asset.exporter.urdf.ui (1.0.2 -> 1.0.6)
Fixed
Preserve temporary PhysX-computed mass properties until URDF conversion completes.
isaacsim.asset.gen.omap (2.3.3 -> 2.3.5)
Fixed
Clear the octree before the generation guards so a failed run cannot return the previous run’s data.
Log an error instead of crashing when generating a map or updating the visualization with no stage attached.
Raise a Python error instead of crashing when constructing a
Generatorwith an unknown stage id.Re-resolve the physics scene on each
generate2d/generate3dcall so a generator survives stage replacement.Reference count the scripting interface so one holder’s release no longer invalidates others.
isaacsim.asset.gen.omap.ui (2.6.2 -> 2.6.5)
Changed
Replaced
omni.physx.scripts.utils(setCollider/removePhysics) usage withisaacsim.core.experimental.utils.physicshelpers.
Fixed
Skip image generation when the occupancy map is empty, so a stale image or ROS config cannot be saved.
isaacsim.asset.importer.mjcf (3.10.1 -> 3.12.1)
Changed
Updated MuJoCo to 3.11.0,
newton-usd-schemasto 0.4.1, andmujoco-usd-converterto 0.5.0, and pinnedusd-exchangeto 2.3.0.
isaacsim.asset.importer.mjcf.ui (1.4.4 -> 1.4.7)
Added
Added an option to reference imported USDs into the current stage via
stage_utils.add_reference_to_stage.
isaacsim.asset.importer.urdf (3.11.2 -> 3.11.10)
Changed
Updated
urdf-usd-converterto 0.3.2.Pinned
usd-exchangeto 2.3.0 for reproducible standalone installs.
Fixed
Author a playback range when an imported robot provides no time-code range.
Imported joint friction as
newton:frictioninstead ofphysxJoint:jointFriction.Preserve XML comments during fixed-joint merging and relative mesh path rewriting.
Removed the standalone dependency on
isaacsim.core.experimentalwhen authoring default time-code ranges.Resolve package mesh URIs after fixed-joint merging.
isaacsim.asset.importer.urdf.ui (1.4.3 -> 1.4.6)
Added
Added an option to reference imported USDs into the current stage via
stage_utils.add_reference_to_stage.
isaacsim.asset.importer.utils (1.8.1 -> 1.9.1)
Added
Added
MjcJointAPIsupport to joints.PhysX-to-MJC conversion now completes joints that already have
MjcJointAPIapplied (previously skipped): it authors themjc:*attributes and (re)creates theMjcActuator, keeping re-runs idempotent.MjcActuatornames no longer collide when joints share a leaf name across the hierarchy (for example/robot/arm/joint1and/robot/leg/joint1). The colliding actuator is now given a unique full-path-based name with a warning instead of being silently dropped or overwritten.
Changed
Load
isaacsim.asset.importer.utilsfrom its own projected prebundle of the sharedisaacsim-assetwheel.Updated the pip wheel to use
usd-optimize1.1 without requiring Kit.Added support for Scene Optimizer Core 110.2.1 when merging meshes.
Updated imports from
omni.scene.optimizertousd_optimize.
Removed
Removed deprecated
urdf:limit:velocitytophysxJoint:maxJointVelocityconversion. The upstream converter now authorsnewton:velocityLimitdirectly.
Fixed
Fixed-base detection treats a joint as a world anchor when
body1is an articulation rigid body andbody0is unset or non-rigid; joints withbody1empty are ignored.Preserve inherited collision purposes during mesh merging and use world-anchoring joints (any physics joint type) as fixed-base articulation roots.
isaacsim.asset.transformer (1.2.5 -> 6.1.0)
Changed
Load
isaacsim.asset.transformerfrom the independently builtisaacsim-assetwheel while preserving existing imports.
isaacsim.asset.transformer.rules (1.7.10 -> 1.7.18)
Added
New URL-safe path helpers in
utilsforomniverse://handling.InterfaceConnectionRule: newclear_default_variant_setsparam to leave listed variant sets unselected.isaacsim_structure.jsonuses it forPhysics.PhysxToMjcConversionRuleconverts PhysX joints and articulations to MuJoCo/Newton schemas with thephysx_to_mjc_conversion.jsonprofile. It edits the working stage in place or authors the conversion into a separate overlay layer whendestinationis a USD file.
Changed
Updated
isaacsim_structure.jsonso it does not select a default PhysX variant.Pinned
usd-exchangeto 2.3.0 for reproducible standalone installs.physx_asset_to_mjcno longer expands D6/spherical joints; it warns and leaves them untouched to preserve the articulation structure.
Fixed
Preserve relationship target order during prim routing, keeping MuJoCo fixed-tendon coefficients associated with the correct joints.
Removed routed PhysX drive and joint-state schemas from MuJoCo overlays.
FlattenRuleno longer leaks source paths into generated layers.InterfaceConnectionRule._generate_folder_variantsnow only sets a default variant selection when the requested variant exists in the variant set.MaterialsRoutingRulenow downloads and embeds UDIM texture families locally.VariantRoutingRuleno longer leaks identity-only Xformable opinions onto targets.VariantRoutingRulenow resolves variant dependencies from remote Nucleus URLs.utils.norm_pathand resolution helpers now handle remote URLs safely.
isaacsim.asset.validation (1.3.6 -> 2.2.0)
Added
Added
RGBSensorUsdRulefor validating authored RGB sensor USD assets.Exposed SimReady foundation tier rules in the Asset Validator interface.
Changed
Dropped the
omni.asset_validator.coredependency; physics and robot-schema Kit dependencies are retained for tier validators that need the runtime.The extension now provisions
simready-validateand the SimReady foundation-tier packages through[python.pipapi]instead of registering rules with the Omniverse Asset Validator.
Removed
Removed the in-extension physics, joint, drive, robot-schema, and material validation rules. Use the corresponding SimReady foundation validation tiers, which are now the single source of truth.
Fixed
Register
RGBSensorUsdRuleexplicitly on startup so it survives the Asset Validator registry reset.
isaacsim.asset.validation.ui (1.0.0)
Added
Added profile-driven validation for the current stage and selected USD assets.
isaacsim.code_editor.python_server (1.3.1 -> 1.4.0)
Added
Added a small immutable runtime status API for companion extensions.
Added temporary listener stop/start and transactional IPv4 host/port restart with rollback.
isaacsim.code_editor.python_server.ui (0.1.0)
Added
Added a top-right Python server status indicator with runtime listener controls.
isaacsim.code_editor.vscode (1.2.3 -> 1.2.5)
Fixed
Resolve the Python server’s live state and bound endpoint when VS Code is launched.
isaacsim.common (6.2.0)
Added
Added shared Kit-integrated logging services and C, C++, and Python profiling APIs.
isaacsim.core.deprecation_manager (0.4.2 -> 0.4.4)
Added
Added a public
deprecateddecorator for Python API compatibility shims.
Fixed
Avoid accessing invalidated prims while migrating deprecated OmniGraph nodes.
isaacsim.core.experimental.actuators (0.1.2 -> 0.1.6)
Changed
Used
joint_target_q/joint_target_qdon Newton actuator control adapters.
Fixed
ArticulationActuators.from_actuatorsnow accepts device argument instead of using the wp default device.
isaacsim.core.experimental.materials (0.7.1 -> 0.10.0)
Added
Declare the
rtx.materialDb.nonVisualMaterialSemantics.prefixsetting, defaulting toomni:simready:nonvisual.
Changed
Fixed base material spelling
calibration_lambertion->calibration_lambertian.NonVisualMaterial.decode_material_ids: return the decoded attributes as a list of strings instead of a single string.NonVisualMaterial: author a minimalUsdPreviewSurfaceconnected tooutputs:surfacewhen the material has no shader, so non-visual material IDs resolve after a cold stage load (not only when authored live). Materials that already have a shader are left untouched.NonVisualMaterial: author attributes using the SimReady spec USD types (base/coatingastoken,attributesastoken[]), and support multiple attributes per material combined into the material-ID bitfield.
Fixed
NonVisualMaterial: fall back to the default attribute prefix when the RTX setting is unset, instead of building attribute names fromNone.
isaacsim.core.experimental.objects (0.8.1 -> 0.9.0)
Added
Added
Stageobject.
isaacsim.core.experimental.primdata (0.3.3 -> 0.3.6)
Changed
Create articulation and rigid-body tensor views for both PhysX and Newton (previously PhysX-only).
Gate DOF field callbacks on
maxDofs > 0so 0-DOF articulations still expose root transforms.
Fixed
Allocate PhysX rigid-body and articulation field buffers on the simulation view’s resolved device when the reader is initialized with automatic device selection.
Detect and recreate invalid simulation views, releasing stale tensor handles on physics reset.
Extract DOF names from the tensor-reported path string directly.
Leave
dof_effortsunavailable on Newton since it does not exposegetDofProjectedJointForces, preventing a semantically different actuation force or valid zero from being reported as measured joint effort.Match
getDofIndexby exact full path first, then fall back to leaf-name match.
isaacsim.core.experimental.prims (1.8.9 -> 1.10.8)
Added
Added lateral friction-force support to tensor contact data.
GeomPrim.remove_collision_apis()to remove the collision APIs (and, for meshes, the mesh-approximation and PhysX cooked-data APIs) applied byapply_collision_apis(). Maintained replacement foromni.physx.scripts.utils.removeCollider.RigidPrim.remove_physics_apis()to remove theUsdPhysics.RigidBodyAPI/PhysxSchema.PhysxRigidBodyAPIapplied at construction. Maintained replacement foromni.physx.scripts.utils.removePhysics.XformPrim.apply_physics_materials()for binding physics materials at transform roots while controlling descendant binding precedence.
Fixed
XformPrim.reset_xform_op_properties: preserve poses authored with rotation or transform operations.Added
get_world_scales().get_local_scales()returns unit scaling when the scaling attribute does not exist.
isaacsim.core.experimental.utils (0.17.2 -> 0.23.0)
Added
Added USD support to
xform.set_local_pose, including prims with non-canonical transform operation stacks.Added
compute_bound_rangeto bounds utils for axis-aligned bound midpoint and size in world, local, or untransformed coordinates.Added
compute_bound_volumeto bounds utils for bound volume viaGetVolume()inworld,local, oruntransformedframes.Added
join_prim_pathsto prim utils for joining prim path segments into a single validated (USD-compatible) prim path.Added a
physicsutilities module withapply_collision,remove_collision,apply_rigid_body, andremove_rigid_bodyauthoring helpers as maintained replacements foromni.physx.scripts.utils.Added
rotate_vectors_by_quaternionandtransform_local_to_worldto transform utils for frame-aware vector and point transforms.Added
set_prim_attribute_value,delete_prim_attribute, andis_prim_validhelpers with USD, USDRT, and Fabric support.Added a
spaceparameter tocompute_aabbfor computing bounds inworld,local, oruntransformedcoordinate frames.Added
transform_world_to_localas the inverse point-frame transform totransform_local_to_world.Added a
spaceparameter tocompute_obbfor computing bounds inworld,local, oruntransformedcoordinate frames.Added multi-apply schema instance queries to
prim.has_apithrough the optionalinstance_nameargument.
Fixed
Align input dtypes in
quaternion_multiplicationwhen the second quaternion is NumPy float64 and the first is Warp float32.Compute child-inclusive local and untransformed AABBs in the root prim’s coordinate frame.
Make
apply_collisionupdate existing collision enablement and mesh approximation state instead of returning early.
isaacsim.core.includes (2.9.1 -> 2.9.4)
Fixed
Guard Fabric transform lookups when a prim exists in USD but is missing from USDRT.
isaacsim.core.nodes (5.10.6 -> 5.10.13)
Added
IsaacAttachHydraTexturecan optionally define requested RenderVars as direct children of the attached RenderProduct instead of under/Render/Vars.IsaacReadCameraInfo: added acameraIntrinsicsoutput (3x3 intrinsics matrix) computed from the camera’s focal length, apertures, and resolution.
Changed
IsaacMapScalarsToColors: apply log-scaling to unnormalized inputs, clamping non-positive scalars at bottom of range.
Fixed
IsaacArticulationController:jointIndices=[0]no longer broadcasts the command to all DOFs instead of selecting DOF 0.IsaacGetViewportRenderProduct: no longer raisesAttributeErrorwhen the named viewport is missing; it now logs the viewport name and reports failure.
isaacsim.core.rendering_manager (0.4.3 -> 0.5.1)
Added
Added an opt-in
ViewportManager.optimize_render_products()API to balance camera render products across active GPUs.
isaacsim.core.simulation_manager (1.15.6 -> 1.17.1)
Added
Added Newton solver-specific physics scene wrappers and scene-object resolution.
Added the
enable_default_callbackssetting to disable default timeline and stage lifecycle callbacks at startup.
Changed
onPhysicsStep: cache the physics steps-per-second value in a single slot keyed by (scene, simulation) instead of querying the physics backend every step. Some backends resolve the query by walking stage prims, which dominated per-step time on large stages; the cache is invalidated on play-state, simulation-registry, and stage attach/detach changes. Interleaved stepping of several (scene, simulation) pairs falls back to the per-step query (the previous behavior).
Fixed
Avoid repeated errors after Newton initialization fails.
Used the supported Carb warning logger when Newton initialization fails.
PhysicsScene.get_gravity: normalize manually authored gravity directions before computing the gravity vector.PhysicsScene.get_gravity: report the effective default gravity for unauthored USD gravity attributes.SimulationManager.get_device: usecuda:0after recovering from an unset CUDA-device setting.
isaacsim.core.throttling (2.3.5 -> 2.3.7)
Added
Warn when timeline playback starts without an authored time-code range.
isaacsim.core.version (2.1.1 -> 2.2.1)
Changed
Register Isaac Sim build metadata for crash reports from
isaacsim.core.version.
isaacsim.examples.base (1.3.2 -> 1.3.4)
Fixed
BaseSampleUITemplate: cancel in-flight load/reset work on shutdown and skip callbacks after teardown.
isaacsim.examples.interactive (4.16.1 -> 4.16.8)
Changed
Used
isaacsim.robot_motion.examplesfor shared manipulation examples.Used core articulations and robot-motion controllers in RoboParty.
Fixed
Improve RoboParty spawn layout so Kaya does not drive into the UR10 workspace, and tighten Franka/UR10 cube and place poses.
Reset pick/place task state when starting the RoboParty so stacking recovers after Reset.
Surface Gripper: raise GPU broadphase
foundLostAggregatePairsCapacityto avoid dropped contact events.Surface Gripper: release stage reference on reload to prevent resident-stage warnings.
Surface Gripper: remove spurious
customqualifier fromphysics:filteredPairsonGripper_Cones.
isaacsim.gui.components (1.8.5 -> 1.8.9)
Added
Added a public
ParamWidget.set_value()method for programmatic field updates.
Fixed
Clamps the float input for
combo_floatfield_slider_builder, as would be expected given the min/max inputs.
isaacsim.gui.content_browser (0.4.3 -> 0.5.1)
Added
Added the Isaac Sim asset collection to File > Open dialogs.
Changed
Used the current File Picker collection API without the deprecated protocol argument.
Fixed
Show configured folders with the same final name in the Isaac Sim collection.
isaacsim.gui.menu (2.10.5 -> 2.10.12)
Added
Registered System Identification in the Tools menu.
Fixed
Fixed screenshot capture, missing-path warnings for saved selections, and clipped buttons in the Create Selection Set dialog.
isaacsim.gui.sensors.icon (2.2.1 -> 2.2.4)
Fixed
Avoid global USDRT sensor-type queries on every frame; refresh cached sensor paths only after structural USD changes.
Read the icon label setting from the documented
exts/omni.kit.prim.sensor/showTitlepath instead of the legacyomni.kit.prim.iconpath.add_sensor_iconnow applies a customicon_urlto auto-discovered sensors and preserves it after viewport refreshes; calls withouticon_urlleave the current icon unchanged.
isaacsim.hsb.core (1.0.1 -> 1.2.0)
Added
Multi-sensor stereo support:
HSBSender``s sharing the same ``ipAddressnow share one underlyingHSBEmulator, matching real Leopard Eagle topology (one board, multiple VB1940 imagers).VB1940 calibration EEPROM served over I²C from the shared
HSBEmulatorat peripheral0x51, so hololink receivers get real intrinsics + stereo extrinsics via the standard code path (no sim-aware fallbacks in the receiver).CameraCalibrationstruct andHSBSender::setCalibration()API to stage values from the OGN layer; applied atconnect().HSBSender::~HSBSenderdisconnects on destruction.
Changed
HSBSender::connect()rejects duplicatesensorIdon the same IP, and bumpshsb_ip_versionpast the current hololinkMINIMUM_HSB_IP_VERSION.
isaacsim.hsb.nodes (1.0.3 -> 1.1.0)
Added
OgnHSBCameraHelper.py: reads the parent USDA Camera prim to compute fx/fy/cx/cy and packs them into the newOgnHSBSendinputs, with a default Eagle stereo baseline.OgnHSBSend: optionalcalibrationIntrinsics(double[]) andcalibrationTranslation(double[3]) inputs, forwarded toHSBSender::setCalibrationand programmed into the emulated VB1940 rig EEPROM (I²C peripheral0x51).
isaacsim.physics.newton (0.8.1 -> 1.0.6)
Added
Added
CollisionConfigandHydroelasticConfigonNewtonConfigfor collision pipeline and hydroelastic contact runtime settings.Added
configure_newton()andget_newton_config()Python entry points for runtime configuration before play.Added solver-selection APIs and VBD solver configuration.
Build and reuse an explicit
CollisionPipelinewith hydroelastic support when hydroelastic shapes are present./exts/isaacsim.physics.newton/load_texturessetting. Enable it when using Newton’s own viewer.CollisionConfig.rigid_contact_maxto set the contact capacity of the collision pipeline.HydroelasticConfig.buffer_mult_broad,buffer_mult_iso, andbuffer_mult_contactto resize the hydroelastic collision buffers reported in overflow warnings.
Changed
Updated the Newton Python package to 1.5.0, MuJoCo to 3.11.0,
mujoco-warpto 3.11.0, andnewton-usd-schemasto 0.4.1.Newton no longer loads material textures by default. They feed only Newton’s viewer, and loading them dominated stage initialization.
Removed
MuJoCoSolverConfig.ls_parallel; Newton 1.5 no longer accepts it.Selected and configured Newton solvers through physics scene schemas.
Used
Control.joint_target_q/joint_target_qd(Newton 1.5 rename).Used
ModelFlagsfor Newton 1.5 solver refresh notifications.Used pyramidal MuJoCo friction cones for stable policy locomotion with Newton 1.5.
Deprecated
Stopped exporting the legacy Python tensor implementation as
isaacsim.physics.newton.tensors; use the dedicated extension instead.
Removed
Removed schema-backed fields from
MuJoCoSolverConfigandXPBDSolverConfig; configure them on the physics scene.
Fixed
Cache rigid-body center-of-mass data at view indices to prevent out-of-bounds writes for subset views.
Emit an error when the USD stage
metersPerUnitis not 1.0.Fixed stale XPBD contact data in Newton tensor contact queries.
Improve the MuJoCo error for rigid bodies without joints.
Initialize from the first physics scene declaring exactly one Newton solver API.
Initialize joint coordinates from authored rigid-body poses before forward kinematics, while preserving the nearest equivalent revolute-angle branch.
Made Newton respect the
resetOnStopsetting.Pre-play articulation property queries now report link/DOF/joint metadata matching the runtime Newton view regardless of where
ArticulationRootAPIis authored (rigid-body Xform, fixed root joint, or container).Preserve composed USD world scales when writing Newton body transforms to Fabric.
Preserve nested rigid-body transforms when stopping MuJoCo with Reset Simulation on Stop disabled by safely authoring the final simulation pose to USD. XPBD and VBD now warn and leave USD unchanged for this unsupported mode.
Recapture the simulation CUDA graph when the physics timestep changes, keeping simulation dynamics and reported simulation time consistent.
Report Newton USD parser warnings at warning severity in Isaac Sim logs.
Scale Newton body transforms to the USD stage units when updating Fabric.
Sibling articulations no longer leak into a queried articulation’s results.
Used the supported Carb warning logger when Newton initialization is skipped.
omniverse://texture paths no longer fail to load. Remote URLs resolve through the local cache.
isaacsim.physics.newton.tensors (0.1.9 -> 0.6.4)
Added
get_friction_datasupport for Newton rigid-contact tensor views.
Changed
Updated the Newton Python package to 1.5.0.
Used
Control.joint_target_q/joint_target_qd(Newton 1.5 rename).Used
ModelFlagsfor Newton 1.5 solver refresh notifications.
Fixed
Added Jacobian and mass-matrix computation to the tensor API.
Apply off-center and local-frame rigid-body and articulation wrenches correctly on CPU and GPU.
Avoid repeated Newton initialization attempts after failure.
Fixed get/set gravity crash with simulation tensor view.
Resolve rigid contact sensor body paths with prefix and shape matching, including shapes under the sensor USD path.
Return empty raw contact buffers instead of failing when Newton contact forces are not yet available.
isaacsim.physics.newton.ui (1.3.1 -> 1.6.1)
Added
Added MuJoCo and XPBD solver selection to the Newton scene UI.
Added a Create > Physics > MuJoCo menu to instantiate the concrete MuJoCo typed prims (
MjcActuator,MjcKeyframe,MjcTendon) that are standalone prim types rather than applied API schemas.Added a pop-up array editor for MuJoCo numeric array attributes (keyframe/actuator/tendon vectors) that lists every entry by index, shows the attribute name and a scrollable description, supports per-row remove and a single append control, and commits edits to USD as one undoable change only on OK (Cancel discards them).
Added a type-filtered Physics > MuJoCo menu for applying MuJoCo API schemas and their required Newton API dependencies.
Enforce MuJoCo’s fixed vector lengths (for example,
mjc:gear= 6,mjc:gainPrm/mjc:biasPrm/mjc:dynPrm= 10, solversolref/solimpfamilies) in the array editor: the append control disables at the limit and OK pads any removed trailing entries with the attribute’s MuJoCo per-index defaults so the written array stays a valid length.Route every MuJoCo numeric array attribute through the pop-up editor, including joint/tendon solver arrays, scene contact overrides, collision/equality
solimp/solref, andmjc:springlength.
Changed
Hide the MJCF angle conversion setting from USD scene properties.
Stopped the PhysX UI from displaying Newton UI schemas.
Fixed
Added remove-schema controls to Newton Scene, Joint, XPBD, and Kamino property frames.
Preserve resolver-aware property builders, property ordering, and private ownership for schemas rendered by custom Apply widgets.
Reject invalid unsigned-array values safely and restore unauthored array state on undo.
Render the pop-up array editor for MuJoCo arrays on applied API schemas (
MjcJointAPI,MjcSceneAPI,MjcCollisionAPI,MjcEquality*API), which the custom Apply widgets own and therefore never resolved through the physics property-builder database; they previously fell back to a read-only text field.Added UI menus for applying Newton API schemas.
isaacsim.pip.newton (0.7.0 -> 0.11.0)
Changed
Updated Newton to 1.5.0, MuJoCo to 3.11.0,
mujoco-warpto 3.11.0,mujoco-usd-converterto 0.5.0, andnewton-usd-schemasto 0.4.1.
isaacsim.pip.nv (1.0.2)
Added
Added a Linux-only archive of the
nvidia-*-cu12CUDA runtime wheels andcuda-bindingsrequired by PyTorch.
isaacsim.replicator.behavior (1.5.4 -> 1.6.2)
Changed
Exposed the documented behavior classes and behavior script helpers from the package root.
Migrated behavior scripts toward Replicator functional transforms, attributes, and rigid-body configuration plus
isaacsim.core.experimentalprim, material, object, stage, transform, bounds, and physics APIs.Reduced
scene_utils.pyto PhysX simulation helpers that have no equivalent compatible with the behavior’s manual simulation loop.
Fixed
Account for asset transform scale when calculating volume-stack drop margins.
Clamp
VolumeStackRandomizerdrop area to the surface center when an asset is larger than the target prim.Guard
TextureRandomizermaterial teardown when the USD stage is already closed.Guard asset-root resolution in
TextureRandomizerandVolumeStackRandomizerso relative CSV paths skip instead of crashing offline.Recreate the randomizer RNG when the USD seed changes on play, resume, or setup.
Skip
LightRandomizerwrites on prims that no longer haveUsdLux.LightAPI.Skip cached prim handles invalidated when another behavior rebuilds a managed subtree, and avoid stateful tensor wrappers when toggling temporary rigid bodies.
Swap inverted min/max range bounds in the location, rotation, light, and texture randomizers.
isaacsim.replicator.episode_recorder (0.1.4 -> 0.1.6)
Changed
Replay pose writes that fail on a singular transform now report the affected prims and the likely cause (zero scale or malformed xform ops) instead of a bare matrix-inversion error.
Fixed
Allow recordable classes to re-register after their defining extension is reloaded.
isaacsim.replicator.episode_recorder.ui (0.1.3 -> 0.1.5)
Changed
Subscribe to stage closing through Events 2.0 instead of the deprecated stage event stream.
isaacsim.replicator.examples (1.11.7 -> 1.12.4)
Changed
Increase rt subframes to 8 for the sphere scan capture randomizer example.
Fixed
Make custom sphere randomizer nodes reproducible with the Replicator global seed.
isaacsim.replicator.experimental.domain_randomization (1.2.5 -> 1.2.10)
Fixed
Connect
numSamplesonly when the distribution node exposes that input so sequence distributions can author graphs.Export the extension
IExtso stage close clears physics-view registries and the randomization context.Skip tendon attribute randomization on reset for articulations with no fixed tendons so later writes on the same view still apply.
get_reset_inds: raiseRuntimeErrorwhen the domain-randomization context is not initialized.
isaacsim.replicator.experimental.mobility_gen (0.2.10 -> 0.3.0)
Added
Module.missing_modalities,Module.named_missing_modalities, andModule.format_missing_modalities: report the modalities a module could not capture during the lastupdate_state().Added shared replay-output and dropped-step policy helpers for the replay scripts.
Changed
MobilityGenCamera.update_state: clear the buffers of a modality whose annotator returned no frame, rather than leave the previous one for the writer to re-serialize as a byte-identical duplicate under a moved pose. Applies to RGB, to an RGB buffer in neither layout the camera reads, and to a camera prim that has gone invalid, which clears its pose along with its images.adding_a_robot.md: document thebuild_policy()hook thatPolicyMultiSensorRobotnow requires, replacing the removedpolicy_classattribute and its policy-controller classes.replay_directory.py/replay_directory_for_nurec.py: re-render an incomplete step up to 3 times, then drop it whole — images and common.npz— so every recorded step keeps exactly one image per modality. Such a replay is shorter than its source recording (a legal index gap, as with--render_intervalabove 1), logs the dropped step indices, and exits non-zero.setup_for_replay: raise when a stage’s launch prerequisites are unmet, rather than returning a flag and letting rendering proceed into a native crash. Callers catch it to decide;replay_directory.pyandreplay_directory_for_nurec.pyskip that recording and exit non-zero.
Fixed
Export
Point2d, already the parameter and return type ofOccupancyMap.pixel_to_world.Keyboard teleoperation: held movement keys stay held instead of stuttering under X11 key auto-repeat.
MobilityGenRobot.write_replay_data: name the missing state buffers instead of raisingTypeError.OccupancyMap.from_ros_yaml: name the missing image and the YAML that references it when the map image cannot be opened.OccupancyMap: write the ROS YAMLoriginas a sequence, not a tuple repr that reloaded as a string and brokepixel_to_world_numpy.originis now normalized at construction.
isaacsim.replicator.grasping.ui (1.1.3 -> 1.1.4)
Changed
Used experimental stage utils for current-stage access.
Fixed
Preserve per-phase joint drive targets when loading a grasping configuration.
isaacsim.replicator.mobility_gen.examples (0.3.4 -> 0.4.1)
Changed
Migrated sensor-rig generation to the current stage utilities.
Replaced the local
_join_sdf_pathshelper (and the directpxrimport) withjoin_prim_pathsfromisaacsim.core.experimental.utils.Run the H1 and Spot policy robots through
RobotPolicyRunner; correct Spot’s physics timestep to 0.002 seconds.PolicyMultiSensorRobot.build_sensor_rig: mount the configuredfront_camera_typebefore building the rig, since the H1 and Spot assets carry no cameras to bind.h1.yaml,spot.yaml: capture a stereo pair, renaming their sensors tofront_camera_leftandfront_camera_right;jetbot.yaml’s isfront_camera.
Fixed
Robot classes no longer resolve the Isaac assets root at import time, so an unreachable assets server no longer makes the extension (and the MobilityGen UI) fail to load.
jetbot.yaml,h1.yaml,spot.yaml: point each sensor rig at camera prims that exist. The old paths did not, so those robots attached no cameras and recorded no images.
isaacsim.replicator.synthetic_recorder (2.4.5 -> 2.4.7)
Fixed
Accept
Sdf.Pathcamera paths (for exampleprim.GetPath()) when validating render products.Clear the recorder on stage CLOSED instead of CLOSING.
Failed recorder start no longer reports a successful write or leaves a partial recorder.
Reject writers that do not accept
backendinstead of passing an unsupported argument.
isaacsim.replicator.teleop (0.3.6 -> 0.4.3)
Added
Added the built-in
floating_xarm_dex3_retargeted.yamlprofile for xArm and Dex3 teleoperation.Config-driven floating-gripper functions that discover xArm and Dex3 YAML definitions, build articulation-safe floating roots, and configure floating, trigger-driven grasp, marker, and visual-cue controllers through an opaque context.
Cross-platform capability discovery that keeps debug input, scripted motion, and supported controllers available when the Linux-only Isaac Teleop and PINK packages are absent.
Live teleop checks external CloudXR readiness via
prepare_live_cloudxr_env()before opening an OpenXR session.Pause caller-paced MCAP consumption with the Kit timeline, rewind it on teleop reset, and suppress replayed controller buttons from toggling a new HDF5 recording.
Poll Isaac Teleop
DeviceIOSession.update()unconditionally; itsNonereturn no longer causes every live input frame to be discarded.Stateless scripted-motion helpers for pose trajectories with quaternion slerp and tolerance-gated execution; these helpers are separate from the live teleop path.
Typed
TeleopFrameinput boundary with live OpenXR, debug-marker, and headless MCAP providers.TeleopManager.connect()accepts MCAP replay and optional live MCAP recording paths while preserving existing controller/head snapshot observers.LocomotionController: velocity drive mode viaLocomotionDriveMode(AUTO/TELEPORT/VELOCITY). Velocity commands a physics velocity on a dynamic rigid-body base (real contacts; jointed payloads follow); Teleport keeps the kinematic pose writes that carry parented children.AUTOpicks Velocity for a dynamic non-kinematic rigid body and Teleport otherwise; an incompatible Velocity request falls back to Teleport. Newlinear_speed/angular_speed(m/s, rad/s) settings tune Velocity mode.
Changed
Align the scripted Dex3 grasp center with the marker offset validated by the teleop SDG pick-and-place scenario.
Allow optional per-joint grasp drive-property overrides.
Anchor scripted visual cues and TCP cameras to the named TCP frame instead of the gripper base link.
Grasp configurations now use degrees for revolute targets and stage linear units for prismatic targets. Convert revolute target values that previously used radians to degrees.
Create a named, base-link-local TCP Xform for every scripted floating gripper and expose its resolved path.
Keep custom tracking-space prims read-only. Locomotion carry is unavailable when a custom prim lacks a safely writable translate/orient/scale xform stack.
Load the Isaac Teleop pip prebundle and PINK dependency only on Linux x86_64; live and MCAP connection attempts now report an actionable unavailable-capability status on other platforms.
Removed
omni.uidependency; UI remains inisaacsim.replicator.teleop.ui.Replaced the in-process
CloudXRManagerlifecycle withcloudxr_env.pyreadiness and environment helpers; the CloudXR runtime is started externally.Resolve one canonical anchor transform for Kit XR, teleop head/controller poses, and live frame markers. Fixed rotation now preserves the custom prim’s initial absolute yaw; follow modes use absolute yaw, offsets use anchor-local axes, and fixed height applies to the shared transform.
Simplify each visual cue to one shadow-free emissive cylinder with 0.5 default opacity.
Subscribe to timeline play/stop through Events 2.0 instead of the deprecated timeline event stream.
Treat
TeleopManager.connect()as the transport-only API; command-driven Connect owns the complete marker, tracking-space, and XR-anchor lifecycle.
Fixed
Apply XR anchor offset, rotation, smoothing, and fixed-height settings configured before connecting, and preserve them across reconnects.
Author generated
/World/XRAnchoroutput in an anonymous session layer, reject collisions with user-owned prims, and remove it exactly on disconnect.Convert angular grasp targets from USD degrees to tensor radians when controlling an articulation.
Hold the last valid shared anchor pose while a custom prim is temporarily unavailable, and restore the configured XR near plane on disconnect.
Honor the full configured rotation-smoothing time constant instead of imposing a per-frame interpolation floor.
Keep 2D live controller tracking independent of Kit XR profile settings, and discover XR APIs lazily when the XR experience loads after Teleop.
Make the extension discoverable on Windows without the optional Isaac Teleop and PINK backends.
Preserve live input status reporting across command-driven disconnect/reconnect cycles.
Release visual-cue update state when its USD stage closes or is replaced, preventing stale anonymous-layer edit-target errors.
Report actionable retargeting errors when profile aliases do not resolve against TriHand semantics, the grasp config, or controllable USD joints.
Roll back partially connected sessions when marker, tracking-space, or XR-profile setup fails.
Share Kit’s active OpenXR session through
isaacsim.kit.xr.teleop.bridgeduring stereo VR, and fail safely instead of creating a competing session when the bridge is unavailable.Stop velocity-driven locomotion when tracking or the input session is disconnected, and preserve the final physics-integrated base pose when disabling Velocity mode.
get_kit_xr_runtime_state: try the remaining Kit XR display/enabled probe when the first one raises, instead of reportingINACTIVEand letting Teleop open a competing OpenXR session while stereo rendering is actually active.
isaacsim.replicator.teleop.ui (0.3.4 -> 0.4.4)
Added
Visual Cues panel with a single shadow-free cylinder per controller, configurable reference height and appearance, optional prim overrides, and profile persistence.
Debug squeeze sliders for controller-driven multi-finger grasp input.
Partial-support UI for platforms without Isaac Teleop: live Connect is disabled while frame markers, Debug Mode, profiles, and supported controllers remain available.
Changed
Live Connect expects CloudXR to be started in a separate terminal; there are no in-process CloudXR lifecycle controls.
Subscribe to timeline play/stop through Events 2.0 instead of the deprecated timeline event stream.
Fixed
Loading a teleop profile now clears omitted IK and floating prim paths instead of keeping the previous profile’s values.
Make the debug-mode UI discoverable on Windows without the optional Isaac Teleop package.
Release the extension instance when the Teleop UI shuts down.
Route desktop Connect and Disconnect through the complete teleop command lifecycle so markers, tracking space, controllers, and the XR anchor are set up and torn down consistently.
isaacsim.replicator.writers (1.5.4 -> 1.5.6)
Fixed
PoseWriter: write frames for non-classsemantic types inidToLabelsinstead of aborting the capture.
isaacsim.robot.experimental.wheeled_robots (0.2.11 -> 0.2.14)
Fixed
Reject negative wheel-velocity, steering-angle, acceleration, and steering-rate limits instead of silently converting them to positive values.
Reject zero or non-finite
wheel_basevalues inAckermannController.
isaacsim.robot.policy.examples (5.2.12 -> 7.2.0)
Added
A standalone and interactive example per shipped robot, and migration shims at the 6.x import paths.
Added Franka drawer-policy deployment on Newton using an engine-specific exported policy and task configuration.
Added
DelayedDCMotoractuator composition for exported Isaac Lab policies.Added a standalone Unitree H2 custom-policy deployment example.
Added env-config-driven actuator deployment for PhysX and Newton through
isaacsim.core.experimental.actuators.Added exported observation-history deployment.
Added hosted Newton policy and environment configuration files for ANYmal C.
Added Cartpole policy-transfer support across PhysX and Newton, CPU and CUDA, and Linux and Windows.
Binary joint-position actions that map one policy channel to multiple joints.
Support exported
ActuatorNetLSTM,ActuatorNetMLP,DCMotor,IdealPDActuator,DelayedPDActuator, andRemotizedPDActuatorconfigurations.CartpolePolicy: add Isaac Lab ONNX policy deployment from exportedpolicy.onnxandenv.yamlfiles.PolicyController.load_policy: support ONNX policies and exported env configuration for pre-import rigid-body, articulation, and joint-drive properties.PolicySpecandPolicyArtifact, with aget_<robot>_specfactory per robot inisaacsim.robot.policy.examples.bundled.RobotPolicyRunner: deploys any bundled robot through one spawn/initialize/step/close lifecycle, driven from the caller’s physics callback.RobotPolicyRunner.restart_from_default_state()for atomic policy restarts from the robot’s default state.derive_binding/bind_policyfor non-bundled policies.get_robot_joint_names_expr()andmatch_joint_names()inconfig_loaderto select a policy’s own joints from a shared articulation.
Changed
Added physics-engine and simulation-device selection to the H1, ANYmal, and Spot standalone examples.
Terms bind by literal joint name, so the Newton H1 example now deploys
h1_minimal.usd.The exported IO descriptor is the policy-interface source; a deployment must carry
IO_descriptors.yamlor an explicit binding hook.Update the hosted PhysX and Newton policy and environment configuration files for Spot.
Used
isaacsim.pip.onnxfor ONNX Runtime while retaining Torch policy support.PolicyController.initialize: replaceset_articulation_propswithreset_to_default_state; articulation properties are now authored before articulation creation.parse_env_config: preserve tagged YAML values and support exact, regex, glob, and legacy prefix joint-name matching.
Removed
Removed the legacy
LstmSeaNetworkhelper now that exported actuator configurations useisaacsim.core.experimental.actuators.OnnxRuntimeModeland the generic ONNX/array utilities, absorbed byOnnxPolicyModel.PolicyControllerand the six articulation-owning policy classes; use the matching bundled spec.controllers.config_loader, whose parsing helpers live inenv_config.
Fixed
Improve Franka drawer-policy deployment parity using exported task state and current physics poses.
Improve Go2 and H1 Newton deployment parity with robot-local physics defaults, preserved authored armatures, and clean policy reset and priming after timeline restarts.
Make ONNX Runtime and its CUDA library bootstrap available in
isaacsim-robotpip and source installations.Preserve imported joint effort and velocity limits when an exported actuator config leaves
effort_limit_simorvelocity_limit_simunset.Support partial initial joint-position maps and policies that reference a subset of the robot’s actuator groups.
Used the same ANYmal C, Spot, and Go2 USD assets as the Isaac Lab policy training configurations.
PolicyController.initialize(): scope all per-DOF configuration, including simulation effort and velocity limits, to the policy’s own joints, fixing the shape-mismatchValueErrorand misapplied limits when another robot shares the same articulation. No-op for single-robot articulations.
Security
Require and verify trusted SHA-256 digests before loading TorchScript policy artifacts.
isaacsim.robot.poser (1.1.3 -> 2.0.0)
Changed
Own the kinematics, math, and IK APIs previously shipped by
isaacsim.robot.schema.
isaacsim.robot.poser.ui (1.1.1 -> 1.1.4)
Changed
Used Robot Poser’s public kinematics imports.
Fixed
Named pose table and property panel no longer log “Widget[] was destroyed during event or draw” errors.
isaacsim.robot.schema (6.3.7 -> 7.0.2)
Changed
Load the Robot schema Python packages and USD resources from the independently built
isaacsim-robot-schemawheel.
Removed
Removed Robot Poser kinematics, math, and IK modules; import them from
isaacsim.robot.poser.
Fixed
Recover rigid links and joints from disconnected components behind non-rigid frames.
isaacsim.robot.schema.ui (0.3.5 -> 0.3.7)
Fixed
Robot Inspector hierarchy generation no longer emits global USD object-change notices for live-stage paths.
isaacsim.robot.wheeled_robots.nodes (0.1.5 -> 0.1.12)
Fixed
CheckGoal2D: compare wrapped yaw error with the target orientation.QuinticPathPlanner: extract signed yaw fromtargetPriminstead of the unsigned rotation angle, which mirrored negative or off-axis goal headings.
isaacsim.robot_motion.controllers (0.3.2)
Added
Added portable differential-drive, Ackermann, and holonomic controllers with configurable robot geometry, command limits, and CUDA graph capture.
isaacsim.robot_motion.cumotion (1.3.1 -> 1.4.0)
Changed
Added
panda_handas a supported Franka tool frame.CumotionWorldInterface: replace debug-visualization constructor settings with an injected visualizer.
Fixed
TrajectoryGenerator: returnNonewhen task-space path conversion fails.
isaacsim.robot_motion.cumotion.examples (0.4.1 -> 0.5.1)
Changed
Expand the Run Scenario panel by default.
Move the interactive examples into Robotics Examples > Motion Generation > cuMotion.
Update collision-debug examples for injected visualizers.
isaacsim.robot_motion.examples (0.2.6)
Added
Added robot-independent Franka and UR10 manipulation examples, reusable behavior-tree nodes, and feedback-driven pick-and-place controllers.
isaacsim.robot_motion.experimental.motion_generation (6.1.3 -> 7.1.2)
Changed
Replaced checking local scaling to checking global uniform scaling.
Used core experimental bounds utilities for world AABB and untransformed OBB collision approximations.
Used core experimental prim helpers for prototype filtering, attribute access, and mesh topology reads.
WorldBindingreads obstacle geometry, scale, and collision-enabled state during initialization and synchronizes only transforms at runtime.get_shape_typeand scene-query plane detection use USDUsd.Prim.IsA(<type name>)instead of the shapeare_of_typeclassifier.
Removed
Removed USDRT property change tracking and the
WorldBinding.synchronizeandWorldBinding.synchronize_propertiesmethods. Usesynchronize_transformsfor runtime pose updates.
isaacsim.robot_motion.pink (0.1.3 -> 0.1.7)
Fixed
Support continuous revolute joints in Isaac Sim-to-Pinocchio configuration and controller-output mappings.
load_pink_robot: accept URDF exporter output that omits urdfdom-only joint limit attributes.
isaacsim.robot_motion.pink.examples (0.1.2 -> 0.2.0)
Changed
Move the interactive examples into Robotics Examples > Motion Generation > PINK.
isaacsim.robot_motion.schema (0.2.1 -> 0.2.2)
Changed
Load the Robot Motion schema Python package and USD resources from the independently built
isaacsim-robot-motion-schemawheel.
isaacsim.robot_setup.collision_detector (0.2.1 -> 0.2.2)
Fixed
Halt subtree traversal at nested
RigidBodyAPIprims so a body’s collision list, viewport highlight, and stage selection no longer include the geometry of child rigid bodies.
isaacsim.robot_setup.gain_tuner (3.5.3 -> 3.10.0)
Added
Added multi-backend gain sources for PhysX DriveAPI, MuJoCo-native, and Newton actuator gains, with source-aware editing and saving.
Added step, sinusoidal, snap-to-limits, stress, and discretization-sweep modes with multi-joint result tables and charts.
Added natural-frequency conversions, effective-inertia queries, and backend-aware armature, friction, and velocity-limit controls.
Added APIs for ingesting sweep results, clearing results, resolving the selected robot, and snapshotting recorded trajectories.
Changed
Split the interactive UI into
isaacsim.robot_setup.gain_tuner.uiso the core tuning library can run headlessly.Backend-specific parameters now write only to the active backend’s schema; you can explicitly copy values between PhysX and Newton.
Natural-frequency conversion APIs now require an
is_angularargument, and the*_revolute_positionfunctions are renamed to*_position_drive.Re-author gains previously saved through the Natural Frequency or Damping Ratio fields because the angular conversion is now corrected. Importer-authored gains are unaffected.
Fixed
Corrected stiffness and damping unit conversions for revolute, prismatic, and D6 joints.
Saved gains now target the asset layer’s native prim paths and apply the required API schemas.
Recognized Newton mimic joints and refreshed backend-specific state when the active physics engine changes.
Improved plots for diverging responses, multiple joints, command and observed traces, effort data, and pointer value readouts.
isaacsim.robot_setup.gain_tuner.ui (2.2.0)
Added
Split the interactive Gain Tuner UI from the headless tuning library.
Added a scalable multi-select gain table, per-joint detail editor, backend source selection, and backend-aware save targets.
Added step, sinusoidal, snap-to-limits, stress, and discretization-sweep result views with interactive charts.
Added controls for comparing and copying advanced actuator parameters between PhysX and Newton.
isaacsim.robot_setup.sysid (2.2.3)
Added
Added a beta headless system-identification runtime with differentiable and simulation-based rollouts, optimizer services, standalone tools, and USD parameter writeback.
isaacsim.robot_setup.sysid.ui (1.2.2)
Added
Added a beta interactive System Identification workflow for configuring telemetry, optimization parameters, solver settings, result analysis, and USD writeback.
isaacsim.robot_setup.virtual_gantry (0.3.0)
Added
Added an engine-agnostic spring-damper rope runtime that suspends an articulation from an anchor prim during robot bring-up and policy testing.
isaacsim.robot_setup.virtual_gantry.ui (1.0.0)
Added
Added Create menu, property panel, and keyboard controls for Virtual Gantry.
isaacsim.robot_setup.virtual_gantry_schema (1.0.1)
Added
Added the
IsaacVirtualGantryUSD schema in a dedicated extension.
isaacsim.robot_setup.xrdf_editor (3.6.3 -> 3.7.0)
Added
Added support for nested links.
Fixed
Clearing or scaling a link’s collision spheres no longer affects links whose names extend it, such as
link10orlink1_tipforlink1.Exported XRDF and robot description files no longer include spheres from a separate robot whose root path extends the exported robot’s path.
Selecting a link no longer highlights the collision spheres of links whose names extend it as belonging to the selection.
isaacsim.ros2.bridge (5.1.2 -> 5.1.4)
Fixed
carter_stereo.py: update Nova Carter stereo camera graph paths and enable separate CameraInfo render products for the current scenario asset layout.
isaacsim.ros2.control (0.1.0 -> 0.1.6)
Fixed
Avoid a teardown-side update that can deadlock controller switching.
Fill effort and velocity limits for continuous joints in synthesized URDF.
Load each ROS 2 Control backend only from its distribution-specific
libdirectory, preventing duplicate plugin registration after archive extraction.Propagate controller YAML parameters to dynamically loaded controllers on ROS 2 Humble.
Reject unsupported ROS 2 distributions with an explicit diagnostic instead of searching for a nonexistent C++ backend.
Replaced non-finite effort and velocity limits in synthesized URDFs so controller initialization succeeds.
Stop the idle controller executor when no managers remain, avoiding a race with ROS shutdown.
Used the Jazzy controller-manager trigger clock to prevent negative time deltas during controller switching.
isaacsim.ros2.core (1.9.4 -> 1.11.0)
Added
Ros2ContextHandle.getDomainId: add an API for querying the effective ROS domain ID.python.shandpython.batnow matchisaac-sim.shandisaac-sim.batby automatically configuring bundled ROS 2 libraries when no ROS environment is set; pass--no-ros-envto disable this behavior.
Changed
Staged ROS 2 package metadata and vendor libraries required by ros2_control.
isaacsim.ros2.examples (1.2.4 -> 1.2.9)
Fixed
Updated MoveIt sample with Franka to use new gripper variant.
Waypoint follower: preserve waypoint orientation when creating Nav2 goals.
isaacsim.ros2.nodes (1.18.13 -> 1.22.7)
Added
Added example interface packages to the bundled ROS 2 libraries on Windows.
Public Python config helpers for creating ROS 2 clock, generic publisher, joint states, TF, odometry, camera, RTX lidar, and RTX radar action graphs.
Shared graph shortcut option constants, warning messages, and
radar_supports_basic_aux_output.OgnROS2CameraHelper: addrgb_hevccompressed RGB publishing and pass the selected codec through the compressed image writer.OgnROS2PublishCompressedImage: allowhevcvalues forinput_format.ROS2ControlManagerOmniGraph node for configuring the in-process ros2_control ControllerManager.ROS2PublishTransformTreeandROS2PublishRawTransformTree: aggregate TF submissions by ROS domain, topic, static/dynamic mode, and QoS so each group publishes one mergedTFMessageafter OmniGraph evaluation.exts."isaacsim.ros2.nodes".tfAggregation.enabled: add a setting for toggling the aggregated TF publisher path.interleave_point_cloud/fill_point_cloud2_messagehelpers andfill_point_cloud_bufferbinding: buildsensor_msgs/PointCloud2data from separate per-point arrays with the parallel C++ interleave.set_isaac_namespaceandset_isaac_name_overridehelpers for authoring Isaac robot schema names used by TF frame generation.
Changed
fillPointCloudBufferHost: xyz is nowconst float*, declared in the CUDA-freeFillPointCloudBufferHost.hpp.
Fixed
Generic ROS 2 service nodes now fail cleanly when requested dynamic service types or native type-support libraries are unavailable instead of dereferencing invalid messages.
Only signal ROS 2 service responses after receiving them.
Preserve nested message arrays in ROS 2 service requests and responses.
Prevent standard ROS 2 GPU image and point-cloud publishers from reading expired inputs or reusing active message buffers.
Respect rotary lidar valid-arc and azimuth-offset attributes when publishing ROS 2 LaserScan messages.
Update the Carter stereo ROS 2 example for the current Nova Carter camera and CameraInfo graph layout.
CompressedImageManagernow includes the codec in every compressed image writer name, avoiding writer reuse across codecs with matching annotator template names.SetPrimAttributenow rejects invalid matrix JSON values without terminating Isaac Sim.create_ros2_joint_states_graphnow creates the migratedIsaacReadJointStatepublisher path.set_rotatenow acceptsGf.Rotationvalues for prims that store transforms inxformOp:transform.
isaacsim.ros2.tf_viewer (2.3.3 -> 2.3.8)
Removed
Removed the ROS 1 transform listener (
transform_listener_ros) and the ROS-version dispatch; the extension now targets ROS 2 only.
isaacsim.ros2.ui (1.6.5 -> 1.9.2)
Added
New
Tools > Robotics > ROS 2 OmniGraphs > RTX Radarmenu shortcut that builds an OmniGraph publishing RTX Radar detections assensor_msgs/PointCloud2viaROS2RtxRadarHelper. Exposes per-point Radial Velocity, Intensity, and Timestamp metadata as checkboxes; warns when Radial Velocity is selected without the OmniRadar prim advertising theBASICauxiliary output channel.Optional render product prim selection in the ROS 2 camera, RTX lidar, and RTX radar graph shortcut dialogs. When specified, the graph uses
IsaacAttachHydraTextureinstead ofIsaacCreateRenderProductand reuses the existing render product path without retargeting its camera, resizing it, or authoring RenderVars on it.
Changed
Camera graphs include a
ROS2CameraInfoHelpernode when creating a new camera graph.ROS 2 graph shortcut dialogs now delegate graph construction to shared helper code.
ROS 2 graph shortcut dialogs now import the public graph construction helpers from
isaacsim.ros2.nodes.Removed the
isaacsim.ros2.uigraph helper API; useisaacsim.ros2.nodesinstead.Sensor graph shortcut dialogs reuse option and warning constants from
isaacsim.ros2.nodes.ROS2 Camera Graphshortcut adds an RGB compression dropdown for raw, H.264, and HEVC publishing.
Fixed
Errors in the “Add to an existing graph” checkbox selection flow for
Ros2CameraGraph,Ros2RtxLidarGraph, and the newRos2RtxRadarGraphwhen the existing graph was missing itsIsaacCreateRenderProductnode or different camera prim is present for existingIsaacCreateRenderProductnode:stage_utils.generate_next_free_pathwas called with two positional arguments, butprepend_default_primis keyword-only. The call now passesprepend_default_prim=Falseexplicitly, matching every other callsite inog_rtx_sensors.py.ROS 2 OmniGraphs > Joint Statesnow creates the migrated joint-state publisher graph.ROS2 Camera Graphnow updates the RGB topic field through the publicParamWidget.set_value()API when the compression dropdown changes.
isaacsim.ros2.urdf (2.3.7 -> 2.3.9)
Fixed
Cancel stale robot description requests when changing ROS 2 nodes.
isaacsim.sensors.experimental.physics (3.0.2 -> 3.3.0)
Added
Enable IMU sensor support with the Newton physics engine.
Changed
Bind
IXformDataViewto the parent rigid body and pass the active engine type.Compute radius-filtered sensor position from the parent body’s runtime pose plus a cached local offset.
Replaced
IPrimDataReader::getContactReportwith per-sensorIRigidContactViewfrom the physics tensor API so the contact sensor works on both PhysX and Newton.Skip
PhysxContactReportAPIwhen the active engine is Newton.Used
getNetContactForcesfor unfiltered sensors so multi-point contacts report the correct magnitude.EffortSensor.change_buffer_sizevalidates its size, rejecting0and booleans (previously accepted) and accepting numpy integers.IMUSensor.get_dataandContactSensor.get_datanow return a frame independent of later calls; code that fetched the frame once and re-read it every step must callget_dataeach step.
Deprecated
The
read_gravityargument onIMUSensor.get_sensor_readingandIMUSensor.get_data, still honored, as the IMU settles on the specific force a real accelerometer reports.EffortSensor.update_dof_nameandEffortSensor.change_buffer_size, to be removed in Isaac Sim 7.0. Construct a newEffortSensorwith the target joint path instead.
Fixed
Avoid traversing the entire USD stage after every physics step when no contact sensors are present.
Cache contact-sensor USD configuration for each simulation run instead of rereading it on every physics step.
Convert Newton raw-contact body indices to encoded
SdfPathtokens viagetOtherActorPathsFromIds.Prevent native and Python post-step callbacks from sampling the same contact sensor more than once per simulation step.
Query raw contact tensors only for radius filtering or explicit raw-data requests, and copy only the populated contact range to the host instead of the full tensor capacity.
Recreate raycast sensor physics views after pause/resume so raycast and IMU sensors can share an articulation safely.
Refresh effort and joint state sensor prim-data readers before recreating articulation views.
Report effort readings as invalid on Newton, which does not expose projected joint forces, instead of returning a semantically misleading valid zero or commanded actuation force.
Report radius-filtered contact readings as invalid when the sensor position cannot be reconstructed instead of silently treating every raw contact as in range or reporting a valid no-contact result.
IMUSensoracceleration now includes theomega x vtransport term, so a body that rotates while it translates no longer loses its centripetal acceleration.IMUSensornow normalizes an authoredgravityDirectionand falls back to the negative stage up axis when it is unauthored, as the USD Physics specification requires; a scene authoring a non-unit direction such as(0, 0, -2)previously measured twice gravity and now measuresgravityMagnitude.
isaacsim.sensors.experimental.rtx (1.4.7 -> 1.9.0)
Added
Runtime sensors now accept per-annotator initialization parameters via
annotator_init_paramsat construction time andattach_annotators(..., annotator_init_params=...)after construction.Standalone examples
spg_grayscale.pyandspg_grayscale_invert.pydemonstrating single-shader and chained SPG authoring, and reading custom output AOVs back viaomni.replicator.coreregister_annotator_from_aov.SPGNodeandSensorAuthoring.author_spg(for example,RtxCamera.author_spg) to author RTX Sensor Processing Graph (SPG) prim structure — oneUsdShade.Shaderper node plus the requiredRenderProduct/RenderVarAOVs — from user-authored CUDA kernels and their co-located Lua launch scripts. Wiring uses anomni.graph-style declarative(src, dst)connection list. Structural validation only; SPG semantics remain owned byomni.rtx.spg. An optionalcopy_tovendors the kernel sources alongside a sensor asset.SensorAuthoring.asset_root_pathexposes the reference root of the USD asset a sensor was loaded from (Nonewhen not loaded from an asset).has_data()onSensorRuntime, reporting render completion with annotator output while the render product still exists and annotators are attached. This lets callers bound an annotator warm-up wait without repeatedly fetching data when no render engine could be bound. It is a render-product-level gate, so it does not guarantee that a specific annotator has a frame ready.
Changed
Depend on
omni.kit.hydra_textureto observe Hydra render-completion events, which is what letshas_data()report readiness without fetching annotator data.Promote
_SensorAuthoring/_SensorRuntimeto public abstract basesSensorAuthoring/SensorRuntime(do not instantiate directly). Shared APIs such asauthor_spgare documented on the public bases.CameraSensor.get_dataandTiledCameraSensor.get_data: information reported alongside an empty warm-up payload (for example,frameId) is now preserved instead of being dropped. The payload itself is stillNoneduring warm-up.CameraSensor: disable RTX post anti-aliasing on sensor-owned render products smaller than 300 pixels in either dimension, where DLSS returns buffers that do not match the requested resolution.RtxCamera,Lidar,Radar,Acoustic(and their sensor runtime classes): wrapping an existing prim of the expected type that lacks the sensor’s API schema now applies the schema instead of raisingValueError.SUPPORTED_CAMERA_CONFIGS: prefix the SICK (Inspector83x, InspectorP61x, safeVisionary2, Visionary-T Mini) and Stereolabs (ZED_X) cameradisplay_namevalues with their vendor, so menu labels and derived action IDs are consistent with the other vendors.SensorAuthoring._create_from_usdnow returns the constructed sensor instance instead of the sensor prim path, and accepts the transform and constructor arguments it forwards. Existing keyword arguments keep their names and meaning;usd_pathis now optional.SensorRuntimesubclasses may set_ALLOW_MULTIPLE_AUTHORING_OBJECTSto wrap more than one prim, as batched runtimes require.SingleViewDepthCameraSensornow attaches to a pre-authoredRenderProductin a loaded USD asset when one exists, derivingresolutionandannotatorsfrom it (both now optional), instead of always creating a new one. Requiresomni.replicator.core >= 1.13.28.TiledCameraSensornow derives fromSensorRuntimeand shares the annotator and render product lifecycle with the other sensor runtimes instead of duplicating it. The tiled-specific properties are unchanged, and the class additionally exposes the inheritedauthoring_objectproperty,attach_writer/detach_writer,annotator_init_paramsandwritersconstructor arguments, and anannotator_init_paramsargument onattach_annotators. Settingrender_varsnow logs a warning, since tiled render products ignore it.
Removed
Removed the retired SICK TiM781 asset from
SUPPORTED_LIDAR_CONFIGS; use the SICK picoScan100 family instead.
Fixed
Prevent SPG Lua launch scripts from being rejected by the sandbox validator.
Retain aliased input buffers for the lifetime of parsed generic model output structures.
CameraSensor.get_data: raise a descriptive error when an annotator returns an unexpected element count, instead of failing in the reshape.CameraSensorandSingleViewDepthCameraSensornow attach thepointcloudannotator withincludeUnlabelled=Trueby default, matching the deprecated camera API and allowing point clouds from unlabeled geometry.Lidar.create,Radar.create,Acoustic.create,RtxCamera.create: authorpositions/translations/orientations/scaleson the loaded asset’s reference root instead of the sensor prim nested inside it. Previously the transform detached the sensor origin from the housing geometry and overwrote the vendor’s mounting offset (for example, the Ouster OS1 z-offset, the TI IWRL6432AOP three-axis offset). Assets whose sensor prim is the reference root, and sensors created without an asset, are unaffected.Lidar,Radar,Acousticnow record the asset reference root likeRtxCameradid, so pre-authored render-product discovery is scoped to the asset subtree rather than the whole stage.
isaacsim.sensors.physics.examples (1.2.4 -> 1.2.7)
Changed
Keep contact reporting active after the ant settles.
Updated the
ant_coloredasset path toisaacsim/Assets/Ant/ant_colored.usd.Used a compatible ant asset in the contact and IMU sensor examples.
isaacsim.sensors.physics.nodes (1.5.3 -> 1.6.2)
Changed
Updated the
ant_coloredasset path toisaacsim/Assets/Ant/ant_colored.usd.
Deprecated
The
readGravityinput onIsaacReadIMU, still honored, as the IMU settles on the specific force a real accelerometer reports.
Fixed
Updated the ant asset drives so contact reporting works after the robot settles.
isaacsim.sensors.rtx.ui (1.5.1 -> 1.5.3)
Removed
Removed the Create menu action for the retired SICK TiM781 asset.
Fixed
Used USD-authored defaults for Create menu sensor variant selections.
isaacsim.simulation_app (2.18.4 -> 2.19.0)
Added
Added
active_cuda_gpuslaunch option for renderer selection using CUDA device ordering.
Changed
Default value of
limit_cpu_threadsreduced from 32 to 16. Carbonite’s task scheduler sees diminishing returns beyond 16 threads; users who need more can override explicitly via theSimulationAppconstructor.SimulationApp.close(exit_code=...)now runs the same cleanup regardless of the exit code: the nonzero fast-shutdown path previously exited before any cleanup, while the graceful path always terminated the process with status 0. A nonzero status is now applied where fast shutdown would otherwise exit with 0, so callers no longer have to choose between cleanup and a truthful exit status (for example, SIGTERM-terminated workers reporting success to distributed launchers).
Fixed
_flush_stdio()no longer raises on Windows; it now loads the Universal CRT explicitly and treats the flush as best-effort._flush_stdio()now also flushes the C stdio streams: native output such asIApp.print_and_logis buffered on the C/C++ side, whichos._exitabandons, so the tail of the shutdown log (including theSimulation App Shutting Downmarker) was lost on every_exitpath.
isaacsim.storage.native (1.9.3 -> 1.11.0)
Added
Ship a regional profile that serves reads from a regional CDN while list and stat go direct to object storage, and that sets the asset root and USD Search endpoint.
Support selecting an asset region profile via the
ISAACSIM_ASSET_REGION_PROFILEenvironment variable.
Changed
Update the default Isaac Sim asset root to the production 6.1 URL.
Update the regional asset profile to the Isaac Sim 6.1 asset root.
Adopted Asset Region Profile naming for regional asset routing and added an explicit default profile.
Fixed
Accept configured asset roots when the Storage provider does not support directory metadata checks.
Asset-root validation accepts roots containing either the Isaac or NVIDIA asset tree.
verify_asset_root_path: validate versioned HTTP asset roots whenversion.txtis unavailable.
isaacsim.test.action_event_sdg (1.0.1, internal)
Added
Added internal downstream integration coverage for registry-delivered Action and Event Data Generation extensions.
isaacsim.util.camera_inspector (1.2.2 -> 1.2.5)
Fixed
Rebuild the camera list when the selected camera is deleted instead of clearing the dropdown.
Reset cached camera wrappers on New Stage so the live stats callback does not raise.
isaacsim.util.physics (1.2.2 -> 1.2.5)
Changed
Replaced
omni.physx.scripts.utils(setCollider/removeCollider/hasSchema) usage withisaacsim.core.experimental.utils.physicshelpers and direct USD schema checks; drop theomni.physxdependency.
isaacsim.zmq.core (1.0.0 -> 1.2.1)
Added
Poseproto carrying a prim’s world-space position and orientation.
Changed
The protobuf message schemas moved to the new
isaacsim.zmq.protosextension;isaacsim.zmq.coreis now purely the ZeroMQ socket transport. Import message classes fromisaacsim.zmq.protos(for example,from isaacsim.zmq.protos import Clock) instead ofisaacsim.zmq.core.
Removed
Protobuf codegen, the bundled protobuf/pyzmq runtime, and the
Clock/Image/Pose/JointStates/JointCommand/UpdatePrimAttributere-exports (now inisaacsim.zmq.protos).CameraParamsandBbox2D/BBox2DItem/BBox2DInfoprotos — unused by the ZMQ bridge example.
isaacsim.zmq.nodes (1.1.1)
Added
Added ZeroMQ OmniGraph nodes for publishing clock, image, pose, and joint-state data and subscribing to joint commands and prim-attribute updates.
isaacsim.zmq.protos (1.0.0)
Added
Added a dedicated extension for the ZeroMQ bridge protobuf schemas and generated C++ and Python bindings.
omni.isaac.core_archive (5.3.1 -> 5.4.0)
Added
Added py_trees, pydot, and transitions for the state-machine tutorials.
omni.pip.cloud (1.5.4 -> 1.5.5)
Security
Updated MSAL to 1.38.0.
Updated
cryptographyto 50.0.1.
omni.pip.compute (1.9.2 -> 1.9.5)
Changed
Replaced
opencv-python-headless4.13.0.90 with the FFmpeg-freeopencv-python-headless-noffmpeg4.14.0.94rc1 package.
omni.usd.schema.mujoco (1.1.1 -> 1.1.4)
Fixed
Log an error when the
mjcPhysicsplugin fails to register instead of failing silently.Ship the
mjcPhysicsschema resources inside the extension (copy instead of linking totarget-deps) so the plugin no longer goes missing when the Newton prebundle is refreshed or deployed withouttarget-deps.
omni.usd.schema.newton (1.2.1 -> 1.4.0)
Changed
Updated
newton-usd-schemasto 0.4.1.