Release Notes#
6.0.0 GA#
Release Highlights#
General#
Updated to Kit 110.1.1.
Improved rendering performance and fidelity with multitick rendering. Cameras and RTX Lidars can be scheduled and rendered at rates and offsets driven by physics simulation time.
PhysX and Newton#
Added experimental support for the Newton physics engine.
C++ and Python tensor APIs for Newton are similar to PhysX. The
isaacsim.core.experimentalAPIs provide an engine-agnostic interface to physics data.ROS 2 Bridge handles the Newton backend similarly to PhysX. All OmniGraph nodes are compatible with Newton and PhysX.
URDF and MJCF importers apply Newton schemas to imported assets.
Synthetic Data Generation#
Perception Data Generation (Replicator)
Added end-to-end synthetic data generation (SDG) workflow examples using the Replicator Functional API to author, randomize, simulate, and collect annotated data.
Action and Event Data Generation
Actor Simulation and Synthetic Data Generation (
isaacsim.replicator.agent.core,isaacsim.replicator.agent.schema, andisaacsim.replicator.agent.ui): Added a behavior-tree based actor controller, collision triggers for collider-based reactions, Stop and Halt behaviors, custom writer support, and verbose or minimal config serialization in the UI.Object Simulation and Synthetic Data Generation (
isaacsim.replicator.object.coreandisaacsim.replicator.object.ui): Added empty space detection.Physical Space Event Generation (
isaacsim.replicator.incident.coreandisaacsim.replicator.incident.ui): Standardized incident-report metadata.AI-based behavior tree generation (
omni.ai.behavior_tree_gen.coreandomni.ai.behavior_tree_gen.bridge): Added extensions that convert natural-language scenario descriptions into behavior tree JSON files.Metropolis pipeline (
omni.metropolis.pipeline): Added a shared configuration and centralized orchestration pipeline for Action and Event Data Generation extensions.Integrated telemetry in the Action and Event Data Generation toolsets to monitor system efficiency and behavioral trends.
Teleoperation Synthetic Data Generation
Added support for teleoperation workflows (
isaacsim.replicator.teleop) using the open NVIDIA Isaac Teleop framework. You can remotely control robots in simulation and build custom teleoperation applications.Added support for episode recording and replay (
isaacsim.replicator.episode_recorder). The recorder captures simulation state and teleoperation input to multi-episode HDF5 files for offline replay and SDG pipelines.
Robots#
Robot policy examples can run Newton policies with the Newton simulator.
URDF and MJCF importers can import multi-physics based assets and include new selection options for robot type and base type.
Added robots under
Samples/Mujoco_Menageriesfor robots imported from MuJoCo Menagerie with the MJCF importer.
Sensors#
Cameras and Depth Sensors
Added clean APIs for sensor authoring and runtime data collection in
isaacsim.sensors.experimental.rtx.Added a structured light camera API with pattern projection and timing capability.
Expanded the camera asset catalog, including new sensors from Luxonis and SICK.
Improved pre- and post-ISP camera pipeline modeling fidelity with USD schemas instead of OmniGraph.
Deprecated the
isaacsim.sensors.cameraextension.
RTX Non-Visual Sensors
Added clean APIs for sensor authoring and runtime data collection in
isaacsim.sensors.experimental.rtx.Added RTX Acoustic ultrasonic sensor support.
Added support for instantaneous RTX Lidar full-scan point-cloud capture.
Expanded the RTX Lidar and RTX Radar asset catalog, including new sensors from Texas Instruments and SICK.
Deprecated the
isaacsim.sensors.rtxextension.
Physics Sensors
Added clean APIs for sensor authoring and runtime data collection in
isaacsim.sensors.experimental.physics.Added a new Raycast sensor type with configurable ray origins, directions, and time offsets.
Deprecated the
isaacsim.sensors.physicsandisaacsim.sensors.physxextensions.
ROS#
Architecture and Modularization
Isaac Sim ROS 2 workflows are now fully supported on Windows through Pixi with the Isaac Sim ROS Workspaces repository.
ROS 2 Publish TF and Odometry now consume pre-computed transforms from
IsaacComputeTransformTree. DirecttargetPrimsinput for these ROS 2 OmniGraph nodes is deprecated.ROS 2 Bridge migrated to the experimental core and sensor APIs:
isaacsim.core.experimental.*andisaacsim.sensors.experimental.{rtx,physics}.The
URDFImportFromROS2NodeKit command is deprecated. UseRobotDefinitionReaderandURDFImporterinstead.
New features
Added
OgnROS2RtxRadarHelperto publish RTX Radar asPointCloud2.Tensor-backed ROS 2 nodes run against any registered physics engine, including Newton.
Added Simulation Control services for
GetEntityBounds,SpawnEntities, andGetSpawnables.Added
wait_for_publishers_on_topicandwait_for_subscribers_on_topichelpers toROS2TestCase.
Performance improvements
Reduced overhead of automatic namespace generation and
isaac:nameOverrideresolution on the publish path. Automatic namespace generation creates uniquely identifiable topics in multi-robot simulations, while name overrides let users customize published link names.OgnROS2PublishJointStateskips tensor view creation on the sensor-input path.OgnROS2PublishTransformTreeresolvestoSdfPathonce per entry and short-circuits invalid prims.Point-cloud metadata fields are gated on matching
output*flags, which prevents accidental message bloat.
Isaac Sim ROS Workspaces repository
Now accepts external contributions. See
CONTRIBUTING.mdfor the updated contribution workflow.Added a Pixi-managed Jazzy workspace with Windows dependency management through Pixi and RoboStack, plus PyPI-based Isaac Sim install support.
Added Windows launch-file support for Isaac Sim.
Added the
isaacsim_clearpath_nav2package for Nav2 integration with Clearpath robots.Renamed the
isaacsimpackage toisaacsim_bringupand migrated key packages fromament_cmaketoament_python.
Docker#
Added Docker Compose deployment for Isaac Sim + WebRTC web-viewer as a single stack.
Support for running multiple Isaac Sim instances in parallel on a single machine.
Full Docker container support for DGX Spark.
Added support for the Hub Workstation Cache container.
Live-streaming#
Added web-based livestreaming via WebRTC client accessible through Docker Compose.
Configurable signal port and stream port via environment variables.
The
isaacsim.streaming.rtspextension provides Real-Time Streaming Protocol (RTSP) live-streaming for camera render products in Isaac Sim. It captures rendered frames through a Replicator writer and publishes them over RTSP withomni.kit.livestream.rtsp.Full DGX Spark livestreaming support.
Motion Generation#
Added support for task-based differential inverse kinematics with the Python Inverse Kinematics (PINK) implementation in
isaacsim.robot_motion.pink.
SimReady Content#
The Isaac Sim content browser now depends on
omni.simready.content.browserand includes the/Isaac/SimReadyfolder.The SimReady Asset Search workflow supports File Index, AI, and WSCache search modes, including filters for names, natural-language phrases, SimReady profiles, features, and tags.
Added FANUC and Comau robot assets to the asset catalog. Additional FANUC robot assets (84+ models) are available in the Content Browser, and most have multiphysics-ready counterparts.
Breaking changes and deprecations#
Change |
Action required |
Removed in |
|---|---|---|
Removed |
Migrate to |
6.0.0 |
Deprecated |
Migrate to |
Not specified. |
Deprecated |
Use the repo template system with |
Not specified. |
Deprecated |
Migrate to |
Not specified. |
Deprecated |
Migrate to |
Not specified. |
Deprecated prim path inputs to ROS 2 OmniGraph nodes. |
Refer to the migration guide. |
Not specified. |
Deprecated |
Migration guidance is planned for 6.1. |
Not specified. |
Deprecated |
Refer to |
Not specified. |
Deprecated |
Migrate to |
Not specified. |
Deprecated |
Migrate to |
Not specified. |
Deprecated |
Migrate to |
Not specified. |
Deprecated |
Migrate sensor authoring and runtime APIs to |
Not specified. |
Deprecated |
Migrate physics sensor APIs to |
Not specified. |
Deprecated |
Migrate to |
Not specified. |
Deprecated |
Migrate to |
Not specified. |
Deprecated |
No replacement is available. Install PyTorch directly or manually enable the extension if needed. |
Not specified. |
Removed support for Camera prims as RTX sensors using JSON configs. |
Migrate to |
6.0.0 |
Removed |
No replacement is available. |
6.0.0 |
Removed |
Migrate to |
6.0.0 |
Known issues#
For known issues, see Known Issues.
Kit SDK Version#
Changed: 110.0.0 -> 110.1.1
Kit SDK Dependency Version Changes#
Added#
isaacsim.anim.robot.bt_nodes: 0.1.1
isaacsim.kit.xr.teleop.bridge: 1.1.2
omni.ai.behavior_tree_gen.bridge: 1.0.4
omni.ai.behavior_tree_gen.core: 1.0.2
omni.anim.behavior.bundle: 110.1.0
omni.anim.behavior.tree: 110.1.3
omni.anim.behavior.ui: 110.1.3
omni.behavior.scripting.bundle: 110.1.0
omni.behavior.scripting.ui: 110.1.0
omni.behavior.tree.bundle: 110.1.0
omni.behavior.tree.ui: 110.1.12
omni.cip.core: 2.0.17
omni.cip.mega: 2.0.14
omni.cip.mega.occupancy_map_ui: 2.0.7
omni.cip.mega.scenario_payload_ui: 2.0.5
omni.cip.mega.ui: 2.0.14
omni.cip.mega.waypoints_ui: 2.0.4
omni.cip.pip: 2.0.1
omni.cip.ui: 2.0.3
omni.cip.workspace: 2.0.1
omni.cip.wrapp_ui: 2.0.1
omni.kit.converter.gsplat: 0.1.14
omni.kit.livestream.rtsp: 10.2.3
omni.kit.thumbnails.usd: 1.0.12
omni.mega.schema: 2.0.5
omni.metropolis.agent_registry: 0.1.2
omni.physx.gpu: 110.1.11
omni.replicator.srtx: 1.1.11
omni.warehouse.creator.api: 1.1.2
omni.warehouse.creator.ui: 1.3.0
omni.wrapp.package_explorer: 2.4.3
Removed#
omni.kit.widget.schema_api: 1.0.4
omni.mesh_tools.libs: 110.0.1
omni.simready.configuration: 1.0.1
omni.simready.content.search: 1.0.5
omni.simready.paths: 0.1.0
omni.tools.array: 108.0.0
Changed#
isaacsim.anim.robot.core: 1.2.2 -> 1.4.2
isaacsim.anim.robot.schema: 0.1.0 -> 0.1.1
isaacsim.app.compatibility_check: 1.1.1 -> 1.1.3
isaacsim.replicator.agent.core: 1.2.6 -> 1.6.7
isaacsim.replicator.agent.schema: 0.1.0 -> 0.1.1
isaacsim.replicator.agent.ui: 1.0.20 -> 1.0.36
isaacsim.replicator.caption.core: 0.7.5 -> 0.7.10
isaacsim.replicator.incident.core: 0.11.7 -> 0.11.8
isaacsim.replicator.incident.ui: 0.6.3 -> 0.6.4
isaacsim.replicator.object.core: 0.11.8 -> 0.11.12
isaacsim.replicator.object.ui: 0.11.3 -> 0.11.5
isaacsim.util.debug_draw: 3.2.1 -> 3.2.2
omni.ai.langchain.agent.chat_iro: 2.2.8 -> 2.2.11
omni.ai.langchain.core: 2.2.5 -> 2.3.1
omni.anim.asset: 110.0.0 -> 110.1.0
omni.anim.behavior.core: 110.0.8 -> 110.1.4
omni.anim.behavior.schema: 110.0.1 -> 110.1.0
omni.anim.graph.bundle: 110.0.0 -> 110.1.1
omni.anim.graph.core: 110.0.3 -> 110.1.2
omni.anim.graph.schema: 110.0.0 -> 110.1.1
omni.anim.graph.ui: 110.0.1 -> 110.1.2
omni.anim.navigation.bundle: 110.0.0 -> 110.1.0
omni.anim.navigation.core: 110.0.3 -> 110.1.4
omni.anim.navigation.schema: 110.0.0 -> 110.1.0
omni.anim.navigation.ui: 110.0.2 -> 110.1.1
omni.anim.retarget.bundle: 110.0.0 -> 110.1.0
omni.anim.retarget.core: 110.0.3 -> 110.1.0
omni.anim.retarget.preview: 110.0.5 -> 110.1.0
omni.anim.retarget.ui: 110.0.1 -> 110.1.0
omni.anim.skelJoint: 110.0.3 -> 110.1.0
omni.anim.window.timeline: 110.0.0 -> 110.0.1
omni.asset_validator.core: 1.11.2 -> 1.19.3
omni.asset_validator.ui: 1.11.2 -> 1.19.3
omni.behavior.scripting.core: 110.0.4 -> 110.1.0
omni.behavior.tree.core: 110.0.4 -> 110.1.9
omni.behavior.tree.schema: 110.0.1 -> 110.1.0
omni.convexdecomposition: 110.0.7 -> 110.1.11
omni.cuopt.visualization: 1.4.0 -> 1.4.1
omni.flowusd: 110.0.0 -> 110.0.3
omni.graph.action_nodes: 2.10.2 -> 2.10.3
omni.graph.examples.cpp: 2.10.2 -> 2.10.3
omni.graph.nodes: 2.10.2 -> 2.11.1
omni.graph.nodes_core: 2.10.2 -> 2.10.3
omni.graph.telemetry: 3.10.2 -> 3.10.3
omni.graph.ui: 2.10.2 -> 2.10.3
omni.graph.window.core: 3.10.2 -> 3.10.4
omni.importer.onshape: 2.0.1 -> 2.0.3
omni.kit.asset_converter: 5.1.1 -> 5.1.4
omni.kit.browser.asset: 1.3.15 -> 1.3.16
omni.kit.browser.core: 2.3.17 -> 2.3.18
omni.kit.browser.folder.core: 1.12.1 -> 2.0.2
omni.kit.converter.cad: 209.0.0 -> 209.4.0
omni.kit.converter.common: 510.0.0 -> 510.1.3
omni.kit.converter.dgn: 510.0.0 -> 510.1.4
omni.kit.converter.dgn_core: 512.0.0 -> 512.3.0
omni.kit.converter.hoops: 510.0.0 -> 510.3.0
omni.kit.converter.hoops_core: 511.0.0 -> 511.3.0
omni.kit.converter.jt: 509.0.0 -> 509.1.2
omni.kit.converter.jt_core: 509.0.0 -> 510.1.0
omni.kit.graph.delegate.modern: 1.10.11 -> 1.10.15
omni.kit.graph.editor.core: 1.5.4 -> 1.5.8
omni.kit.graph.usd.commands: 1.3.2 -> 1.3.6
omni.kit.livestream.app: 10.1.0 -> 10.1.1
omni.kit.livestream.core: 10.0.0 -> 10.2.1
omni.kit.livestream.messaging: 1.2.1 -> 1.3.0
omni.kit.livestream.webrtc: 10.1.2 -> 10.3.2
omni.kit.pointclouds: 1.6.7 -> 1.6.14
omni.kit.prim.icon: 1.1.0 -> 1.1.1
omni.kit.profiler.tracy: 1.2.1 -> 1.2.0
omni.kit.property.physics: 110.0.7 -> 110.1.11
omni.kit.stagerecorder.core: 110.0.2 -> 110.0.9
omni.kit.timeline.minibar: 1.2.14 -> 1.2.13
omni.kit.tool.asset_exporter: 4.0.5 -> 4.0.7
omni.kit.tool.asset_importer: 5.1.3 -> 5.2.0
omni.kit.tool.measure: 200.0.7 -> 200.0.12
omni.kit.waypoint.core: 1.6.4 -> 1.6.9
omni.kit.widget.material_preview: 1.1.2 -> 1.1.3
omni.kit.window.collection: 0.3.4 -> 0.3.5
omni.kit.window.material_graph: 1.9.6 -> 2.2.0
omni.kit.window.movie_capture: 2.7.4 -> 3.0.1
omni.metropolis.pipeline: 0.0.5 -> 0.0.9
omni.metropolis.schema: 0.0.1 -> 0.0.3
omni.metropolis.utils: 1.0.5 -> 1.1.2
omni.physics: 110.0.7 -> 110.1.11
omni.physics.isaacsimready: 110.0.7 -> 110.1.11
omni.physics.physx: 110.0.7 -> 110.1.11
omni.physics.physx.ui: 110.0.7 -> 110.1.11
omni.physics.stageupdate: 110.0.7 -> 110.1.11
omni.physics.tensors: 110.0.7 -> 110.1.11
omni.physics.ui: 110.0.7 -> 110.1.11
omni.physx: 110.0.7 -> 110.1.11
omni.physx.asset_validator: 110.0.7 -> 110.1.11
omni.physx.bundle: 110.0.7 -> 110.1.11
omni.physx.camera: 110.0.7 -> 110.1.11
omni.physx.cct: 110.0.7 -> 110.1.11
omni.physx.commands: 110.0.7 -> 110.1.11
omni.physx.cooking: 110.0.7 -> 110.1.11
omni.physx.demos: 110.0.7 -> 110.1.11
omni.physx.fabric: 110.0.7 -> 110.1.11
omni.physx.foundation: 110.0.7 -> 110.1.11
omni.physx.graph: 110.0.7 -> 110.1.11
omni.physx.pvd: 110.0.7 -> 110.1.11
omni.physx.supportui: 110.0.7 -> 110.1.11
omni.physx.tensors: 110.0.7 -> 110.1.11
omni.physx.tests: 110.0.7 -> 110.1.11
omni.physx.tests.visual: 110.0.7 -> 110.1.11
omni.physx.ui: 110.0.7 -> 110.1.11
omni.physx.vehicle: 110.0.7 -> 110.1.11
omni.replicator.core: 1.13.4 -> 1.13.25
omni.replicator.nv: 1.1.0 -> 1.1.1
omni.scene.optimizer.analysis: 110.0.4 -> 110.1.0
omni.scene.optimizer.bundle: 110.0.4 -> 110.1.0
omni.scene.optimizer.core: 110.0.4 -> 110.1.0
omni.scene.optimizer.ui: 110.0.4 -> 110.1.0
omni.scene.optimizer.validators: 110.0.4 -> 110.1.0
omni.services.client: 0.5.4 -> 0.5.6
omni.services.convert.asset: 510.0.0 -> 510.0.2
omni.services.convert.cad: 508.0.0 -> 508.0.3
omni.services.core: 1.9.3 -> 1.10.0
omni.services.pip_archive: 0.18.6 -> 0.18.7
omni.simready.content.browser: 0.2.4 -> 0.3.7
omni.usd.fileformat.e57: 1.7.0 -> 1.7.4
omni.usd.fileformat.pts: 108.0.0 -> 110.0.2
omni.usd.metrics.assembler: 110.0.0 -> 110.1.2
omni.usd.metrics.assembler.physics: 110.0.7 -> 110.1.11
omni.usd.metrics.assembler.ui: 110.0.0 -> 110.1.1
omni.usd.schema.metrics.assembler: 110.0.0 -> 110.1.0
omni.usd.schema.physx: 110.0.7 -> 110.1.11
omni.usdex.libs: 2.2.1 -> 2.2.2
omni.usdphysics: 110.0.7 -> 110.1.11
omni.usdphysics.ui: 110.0.7 -> 110.1.11
omni.warehouse_creator: 0.4.4 -> 1.0.0
omni.warp.core: 1.12.0 -> 1.13.0
Extensions Changelog Summary#
Please refer to the individual extension changelogs for more detailed information. A handful of cross-cutting changes landed in many extensions this release; rather than repeat them per extension, they are called out once here:
Many extensions were migrated onto the Core Experimental API (
isaacsim.core.experimental.*),isaacsim.core.simulation_manager, andisaacsim.core.rendering_manager, replacing the deprecatedisaacsim.core.apiandisaacsim.core.utilsdependencies.The Newton physics backend is supported more broadly: importers, prims, and robot policies now author Newton schemas (
NewtonArticulationRootAPI,NewtonMimicAPI) and select the Newton-compatible USD physics variant when Newton is the active engine. The matchingPhysxArticulationAPI/PhysxMimicJointAPIauthoring is dropped from importer and rule output; the runtime consumes the Newton schemas directly.Multitick rendering is enabled across the RTX sensor, ROS 2, UCX, and
SimulationApppipelines, with the corresponding non-multitick code paths removed. Multitick simulation time is now communicated via the/ExternalSimulationTimeFabric prim instead of the previousset_next_simulation_time/SWHExternalSimulationTimeevent API.The deprecated
omni.isaac.ml_archivedependency was removed from many extensions; the extension itself is now marked deprecated and its bundled PyTorch was updated to 2.11.0+cu128 (torchvision 0.26.0+cu128, torchaudio 2.11.0+cu128).Python binding modules across many extensions were moved into
bindings/subdirectories. The public Python import paths (for exampleisaacsim.core.experimental.prims.bindings._<name>) shift accordingly; downstream code importing from the old top-level binding location needs to be updated.Menu registrations across many extensions migrated from the deprecated
onclick_fntoonclick_action, and many extensions moved to the shared UI library (isaacsim.gui.components).Common documentation refreshes (
Overview.md,python_api.md,SETTINGS.md, docstrings) landed across many extensions; individual extensions do not re-list these.isaacsim.app.about
Changed
Redesigned the About dialog: removed the OK button (dismiss via the titlebar), aligned header rows, simplified the plugin list, restyled the hover tooltip, and fixed the clipped OK button and the clipboard “Kit SDK Version” separator.
isaacsim.app.setup
Added
Emit a telemetry event for app startup duration via
isaacsim.core.telemetry.
Removed
Removed the
isaacsim.core.telemetrydependency and direct telemetry calls from app startup (the event is now emitted indirectly).
isaacsim.asset.exporter.urdf
Added
Round-trip drive breadcrumbs:
isaac:source_driveXML comments preserve DriveAPI gains (stiffness, damping, max force, target position), MjcActuator parameters, andPhysxJointAPIarmature across URDF export and import.
Changed
Rewritten as a physics-graph-driven converter (
UsdToUrdfConverter).Switched to codeless PhysX schema usage; uses direct
prim.ApplyAPI()/prim.CreateAttribute()calls instead ofpxr.PhysxSchematyped-API classes.matrix4_to_originnow decomposes the matrix viaGf.Transformso roll-pitch-yaw is computed from the unscaled rotation;ExtractRotationon a scaled matrix produced incorrect angles.Split into an API extension (this) and a UI extension (
isaacsim.asset.exporter.urdf.ui); removed thenvidia-srl-usd-to-urdfdependency.
Fixed
DriveAPI values no longer incorrectly populate URDF
<dynamics>,<limit effort>, or<calibration reference_position>; these elements now only contain passive joint properties per the URDF-to-USD concept mapping.Preserve mesh scale when exporting instanceable geometry containers; the scale is emitted on the URDF
<mesh scale=...>attribute instead of being dropped.Replaced
Usd.Prim.GetAncestorsRange(C++-only API) with aGetParentwalk in mesh prototype path resolution; the previous code raisedAttributeErrorwhenever a non-instanced mesh was exported.
isaacsim.asset.exporter.urdf.ui
New extension
isaacsim.asset.gen.conveyor
Added
create_conveyor_beltpublic Python API as a direct replacement for theCreateConveyorBeltKit command.
Deprecated
CreateConveyorBeltKit command, in favor ofcreate_conveyor_belt().
Fixed
Conveyor texture animation is now restored on stop. The StopPlay handler in
OgnIsaacConveyor::initInstanceperforms the restore synchronously from the event callback (subscribing toomni::timeline::kGlobalEventStop); the previous deferredrequestComputeflow silently dropped the restore. Regression introduced in the Kit 107.3 event-dispatcher migration.Eliminated an off-by-one frame drift on stop by gating the texture-animation block in
OgnIsaacConveyor::compute()on a newm_isPlayingflag set from the StartPlay / StopPlay callbacks.create_conveyor_beltnow appliesUsdPhysics.MeshCollisionAPIwith theconvexHullapproximation onUsdGeomMeshprims, so PhysX accepts the resulting dynamic body instead of rejecting the defaultmeshSimplificationapproximation.Emit a one-shot
CARB_LOG_WARNwhenIStageReaderWriteris unavailable so the FSD-mirror fallback to USD-only authoring is observable in logs.
isaacsim.asset.gen.conveyor.ui
Changed
Replaced
omni.kit.commands.execute("CreateConveyorBelt")call sites with directcreate_conveyor_belt()API.Replaced the MDL “Ghost” / “GhostVolumetric” preview material with a viewport selection group tinted green via
omni.usd.UsdContext.register_selection_group.
Removed
data/Ghost.mdlanddata/GhostVolumetric.mdl(no longer referenced).mdl_fileargument toConveyorBuilderWidget.__init__and the matchingExtension.mdl_fileplumbing.
isaacsim.asset.gen.omap
Fixed
Fixed the
compute_coordinates()return type annotation fromnp.matrixtonp.ndarrayand replaced the deprecatednp.matrixwithnp.arrayand the@operator.
isaacsim.asset.gen.omap.ui
Changed
UI improvements: unified filename field, auto-updating YAML, and the window docks to the Property panel.
isaacsim.asset.importer.heightmap
Changed
The heightmap ground plane is now sized from the generated occupancy map’s world-space bounds (via
UsdGeom.BBoxCache) and created after the heightmap instances, so it always covers the geometry.
Fixed
SetDefaultPrimno longer fails when/Worlddoes not exist; it is created automatically.The heightmap importer no longer crashes on grayscale images (PIL modes
L,I,F) that produce 2D NumPy arrays.Raise
ValueErrorfor non-PIL heightmap inputs before modifying the stage, and propagate image-processing failures instead of silently returning an empty heightmap (6132964).Show the file picker after the Load Image button creates it, unblocking PNG selection from the UI (6083539).
isaacsim.asset.importer.mjcf
Added
Over-constrained joints (multiple single-axis joints sharing a body pair) are combined into a single PhysX D6 joint in the PhysX variant; the MuJoCo/Newton variants keep per-DOF authoring. The redundant single-axis joints are removed from the PhysX variant; all edits stay in the PhysX overlay layer.
MJCFImporterConfig.fix_baseis now a tri-statebool | None:Trueadds a world-to-root fixed joint,Falsemakes the robot floating-base, and the new defaultNoneleaves the source asset’s base authoring untouched.
Changed
Added
omni.usd.schema.mujocoandomni.hydra.usdrt_delegatedependencies.Updated
mujoco-usd-converterto 0.2.0.Imported MJCF articulation roots no longer carry
PhysxArticulationAPI; self-collision is authored viaNewtonArticulationRootAPI(newton:selfCollisionEnabled) on top of the standardUsdPhysics.ArticulationRootAPI.Imported MJCF mimic joints are now expressed exclusively through
NewtonMimicAPI(newton:mimicJoint,newton:mimicCoef0,newton:mimicCoef1);PhysxMimicJointAPIis no longer authored.Replaced the Kit extension-manager lookup for the default profile path with the new
isaacsim.asset.transformer.rules.DEFAULT_PROFILE_PATHconstant.Intermediate artifacts (usdex layers, temp stage) are written to a system temp directory via
tempfile.mkdtemp()in non-debug mode, avoidingPermissionErrorwhen importing from read-only locations.MassAPIis only added when a non-default density is set on a link; links with no mass no longer have aMassAPIapplied.Only
MeshCollisionAPI(notPhysxArticulationAPI) is now authored on articulation roots; gatesextension.pyso the package can be imported outside Kit.Added a deprecation notice to
commands_api.mdforMJCFCreateImportConfigandMJCFCreateAssetKit commands.
Fixed
Fixed a
SIGSEGVcrash inUsdStage::~UsdStagebetween tests by stopping the timeline and flushing run-loop frames in teardown.With
run_asset_transformer=False,import_mjcf()no longer crashes writing to a non-existent output directory. The intermediate stage is only materialized when the transformer needs it.
isaacsim.asset.importer.mjcf.ui
Added
“Base Type” dropdown in the Options frame with three choices (Source / Fixed / Mobile) that drives the new tri-state
MJCFImporterConfig.fix_basefield.
Changed
Multi-file selection and import in the UI.
Robot Type dropdown.
Updated treeview identifier to
filebrowser_grid_view.
Fixed
Multi-select import now builds an independent
OptionWidget/ config / models per selected MJCF file, so edits to one file’s panel no longer bleed into another’s settings.
isaacsim.asset.importer.urdf
Added
Round-trip drive, geometry, and joint reconstruction from
isaac:source_*breadcrumb comments restores DriveAPI gains, capsule/cone primitives, and multi-DOF joints (SphericalJoint, D6Joint) on import.URDFImporterConfig.fix_baseis now a tri-statebool | None(fixed / floating-base / source as-is).
Changed
Imported URDF articulation roots no longer carry
PhysxArticulationAPI; self-collision is authored viaNewtonArticulationRootAPI(newton:selfCollisionEnabled).Imported URDF mimic joints are now expressed exclusively through
NewtonMimicAPI.Updated
urdf-usd-converterto v0.1.2.Replaced
pxr.PhysxSchematyped-API usage in the drive reconstruction module with directprim.ApplyAPI()/prim.CreateAttribute()calls.Replaced the Kit extension-manager lookup for the default profile path with
isaacsim.asset.transformer.rules.DEFAULT_PROFILE_PATH.When the merged URDF is relocated to a temp directory, relative
<mesh filename="..."/>entries are rewritten to absolute paths so downstream mesh resolution is preserved (package://URIs are left untouched).Intermediate artifacts are written to a system temp directory in non-debug mode, avoiding
PermissionErrorfrom read-only locations.Mass API authoring follows the MJCF importer behavior (only applied when a non-default density is set).
Fixed
Fixed a
SIGSEGVcrash inUsdStageteardown between tests.With
run_asset_transformer=False,import_urdf()no longer crashes writing to a non-existent output directory.
isaacsim.asset.importer.urdf.ui
Added
“Base Type” dropdown (Source / Fixed / Mobile) driving the tri-state
URDFImporterConfig.fix_basefield.Auto-populate the ROS package table from
package://references found in the selected URDF.package_scannermodule that resolvespackage://URIs to filesystem paths by walking parent directories.
Changed
Multi-file selection and import in the UI.
Moved
checkbox_builder/dropdown_builder/string_filed_builderimports toisaacsim.gui.components.ui_utils.Replaced local style definitions with the shared base style from
isaacsim.gui.components.style.
Fixed
Multi-select import now builds an independent config per selected URDF, so edits no longer bleed across files or ROS package tables.
isaacsim.asset.importer.utils
Added
apply_floating_basehelper inasset_utils(the inverse ofapply_fix_base) that removes anyFixedJointanchoring the articulation root to the world.parse_robot_namehelper inimporter_utilsfor validating the input file extension and parsing the name.Collapse multiple single-axis joints sharing a body pair into a single PhysX D6 joint; remove the redundant joints from the PhysX variant.
File conflict / collision checks during import.
Changed
Added
__all__toasset_utilsand addedcreate_robot_schema/ROBOT_TYPE_TOKENStoimporter_utils.__all__so the package re-exports matchconfig/python_api.md.apply_link_density()now appliesMassAPIto rigid-body links that lack it before authoring density, so callers no longer need a separateadd_rigid_body_schemas()pass; links with an authored positivephysics:massare still skipped.enable_self_collisionmarks articulation roots withUsdPhysics.ArticulationRootAPIplusNewtonArticulationRootAPI(newton:selfCollisionEnabled) instead of writingphysxArticulation:enabledSelfCollisions/PhysxArticulationAPI. The PhysX schema enums remain available for code that reads existing data.Replaced
pxr.PhysxSchematyped-API usage with directprim.ApplyAPI()/prim.CreateAttribute()calls across the importer utility modules.Deferred
isaacsim.asset.transformerimport torun_asset_transformer_profile()to remove a module-level cross-extension dependency.importer_utils.add_rigid_body_schemas()is retained for backward compatibility but will be removed in the future.
Removed
create_physx_mimic_jointhelper fromimporter_utils; URDF and MJCF importers now leave joints asNewtonMimicAPI. ThePhysxMimicAttr/PhysxMimicRel/PhysxSchema.MIMIC_JOINT_APIenums remain available for code that reads existing PhysX mimic data (for example the URDF exporter).
isaacsim.asset.transformer
Changed
Documented the input-stage mutation contract on
RuleInterface:args["input_stage"]is informational only and must be treated as fully read-only, including its session layer. Rules that need to author overrides while reading from the original input must open a privateUsd.Stagefromargs["input_stage_path"]and author into that stage’s session layer. The contract avoids mid-frame Hydra invalidations when the transformer runs against the editor’s active stage.Removed direct Omni / carb dependencies.
Fixed
AssetTransformerManager._collect_assetsnow anchors dependency discovery and asset-path remapping to the source layer’s directory instead of the freshly-exported output layer, so relative asset paths (for example../textures/foo.png) are rewritten correctly regardless of where the outputpayloads/directory sits._collect_assetsresolves relative asset paths against a priority-ordered list of candidate anchor directories (source root layer first, then every used sublayer’s directory), fixing the multi-sublayer case where an asset path authored in a sublayer was anchored at the wrong directory._collect_assetsskips URI-style asset paths (omni://,http://,file://, …) in its remap step rather than attempting filesystem-relative resolution.make_explicit_relativenormalizes backslash separators to forward slashes so USD asset paths, sublayer identifiers, and references are portable across platforms.
isaacsim.asset.transformer.rules
Added
New rules:
MergeMeshRule(merge visual mesh prims grouped under rigid bodies via Scene Optimizer),MjcToPhysxConversionRule(convert MJCF actuator/joint attributes to PhysX drive and joint schemas),UrdfToMjcPhysxConversionRule(convert URDF joint attributes to MJCF actuators and PhysX schemas),JointStateAPIRule(applyPhysxSchema.JointStateAPIto non-fixed joints missing it; wired into the Isaac Sim profile between Fix Physics Joint Poses and Route Materials).DEFAULT_PROFILE_PATHmodule-level constant exposing the path to the bundledisaacsim_structure.jsonprofile.register_all_rules()standalone function for registering all built-in rules without Kit’s extension lifecycle.discover_rule_classes()helper that walks the extension package and returns every concreteRuleInterfacesubclass.GeometriesRoutingRulequantizes hashed geometry values to a physical 1 mm grid derived from the stage’smetersPerUnitand the mesh’s extent magnitude, so meshes authored in m, cm, or mm deduplicate at the same resolution instead of relying on raw float-string comparison. Large arrays (points, normals, UVs) are quantized via NumPy in C.GeometriesRoutingRuletracks a globalused_geometry_namesset so newly emitted geometry names cannot collide with pre-existing entries when deduplication is enabled.MakeListsNonExplicitRulenow normalizesisaac:physics:robotLinksandisaac:physics:robotJointsrelationships toprependlist ops, walking each prim’sGetPrimStack()so sublayered PrimSpecs are also rewritten.canonical_builtin_mdl_pathhelper that returns the Kit-resolvable bare/suffix form of a built-in MDL path.refresh_builtin_mdl_cache_asynchelper for best-effort upgrade of the built-in MDL cache fromomni.kit.material.library.get_mdl_list_async; the Kit extension awaits this on startup, standalone callers can ignore it.omni.kit.material.librarydeclared as anoptional = truedependency so the rules extension is usable without the material library.visibilityadded to_INSTANCE_SPECIFIC_PROPERTIESso it is no longer baked into the geometry hash.
Changed
MjcToPhysxConversionRuleandUrdfToMjcPhysxConversionRuleno longer authorPhysxMimicJointAPIfrom joints withNewtonMimicAPI; the runtime consumesNewtonMimicAPIdirectly.PrimRoutingRule.process_rule()now raisesValueErrorwhenprim_typesis unconfigured (missing,None, or empty) instead of silently logging and returningNone. Disable a rule withenabled = falseinstead.is_builtin_mdlandcanonical_builtin_mdl_pathconsult an in-memory cache initialized from a hardcoded fallback at import time and upgraded byrefresh_builtin_mdl_cache_asyncwhen available. The previously publicBUILTIN_MDL_FILES/BUILTIN_MDL_PATH_SUFFIXESconstants are replaced by private fallbacks.register_all_rules()now discovers rule implementations dynamically viadiscover_rule_classes()instead of a hard-coded list.GeometriesRoutingRule._compute_geometry_hashignores xform properties and replacesstr(value)hashing with a unit-aware quantization via_quantize_value.No longer deletes
PhysxMimicJointAPIand articulation roots by default in the Isaac Sim profile JSON.
Fixed
FlattenRule.process_ruleno longer mutates any caller-owned USD state. It now opens a fresh privateUsd.Stagefromargs["input_stage_path"]and authors variant blocks/selections throughUsd.EditContext, fixing alibrtx.hydracrash (Unable to find RP Prim from previous update pass!) when the Asset Transformer was run against the editor’s active stage.GeometriesRoutingRule._compute_instance_delta_hashnow incorporates the effective inherited purpose so a prototype mesh referenced by both a visual Xform (purpose=default) and a collision Xform (purpose=guide) is split into separate/Instancesentries.GeometriesRoutingRulepropagates the effective purpose computed viaUsdGeom.Imageable.ComputePurpose()instead of only the immediate parent’s authored value, so collision meshes whosepurpose=guideis authored on an ancestor stay hidden through the routed instance.GeometriesRoutingRule._make_references_non_instanceableno longer writes the flattened stage back to the source layer’srealPathon disk; idempotency of the full Isaac Sim profile is preserved.MaterialsRoutingRulerewrites absolute or explicit-relative paths to project-local copies of Kit built-in MDLs into their canonical bare form (for exampleOmniPBR.mdl), so Kit’s MDL search paths resolve them.MaterialsRoutingRuleno longer duplicates local texture files when the target path already exists with identical content (files_are_identicalshort-circuits the rename loop).MaterialsRoutingRulewrites asset paths with forward-slash separators on Windows viamake_explicit_relative.MergeMeshRule,MjcToPhysxConversionRule, andUrdfToMjcPhysxConversionRuleare now registered with the globalRuleRegistry.is_builtin_mdlnow recognizesomnisurfacepresets.mdl,core_definitions.mdl, and path-suffix forms likenvidia/core_definitions.mdl.JointStateAPIRuleno longer importspxr.PhysxSchema; it uses shared PhysX schema tokens fromisaacsim.asset.importer.utilsso standalone wheel imports do not require Kit-only schema bindings.Added the standalone
isaacsim.asset.importer.utilswheel dependency required by the rule token helper.
isaacsim.asset.transformer.ui
Added
New extension dependency:
omni.kit.window.file(the Save / Save As implementation already shipped in the standard Isaac Sim app; the dependency is now declared explicitly).Shared modal-slot helpers (
_dismiss_active_modal/_build_modal_window) so modals are reliably destroyed (not just hidden) when replaced._save_active_stage_and_runthin wrapper aroundomni.kit.window.file.savethat re-invokes_run_actionsfrom its completion callback (and surfaces an error dialog on save failure).
Changed
_is_active_stage_unsaved()returnsTruefor both never-saved stages and previously-saved stages with pending in-memory edits (omni.usd.get_dirty_layers(stage, recursive=True)non-empty), because the transformer reads from disk._resolve_input_stage_path()returns(path, error_message)so the caller can render the specific failure reason in the UI._show_confirmation_dialog()accepts optionalconfirm_label/cancel_labeland uses a fixed button width (ui.Pixel(120)) instead of a character-count heuristic that broke under custom fonts, high DPI, and non-Latin glyphs.
Fixed
A cancelled or failed save now surfaces an error dialog instead of silently aborting.
_run_actions()no longer returns silently when the active stage is unsaved, when no actions are configured, when the output directory is unset, or whenAssetTransformerManager.run()raises; each failure opens a modal dialog.Per-rule failures returned by
ExecutionReport.resultsare now surfaced via the same error dialog (capped at 10 entries with an “…and N more” suffix).Unsaved-stage precheck shows a terse “Save Stage?” Yes / No / Cancel dialog before doing anything else.
isaacsim.asset.validation
Changed
Added
DedupBaseRuleCheckerto filter duplicate errors and warnings caused by multiple variants.Removed a redundant
fetch_results()aftersimulate()when collecting initial collider pairs in physics validation rules.
Fixed
RigidBodyHasMassAPIno longer crashes on rigid bodies missingMassAPIor the required mass attributes; missing-attribute errors are collected up front. It also no longer flags unauthoredprincipalAxeson assets that fall back to the schema default.HasArticulationRoot,JointsExist, andLinksExistonly fire on stages that actually contain joints.NonAdjacentCollisionMeshesDoNotClashskips pairs where either collider is outside thedefaultPrimsubtree (filters out ground planes) and walks to the nearestRigidBodyAPIancestor for adjacency lookup, fixing false positives on nested collision layouts.Fixed antipodal-quaternion matching in
JointHasCorrectTransformAndState.Fixed false positives in drive-joint and collision-mesh-purpose rules.
Repaired the failing validator dedup mixin test.
Physics layer naming rules now accept the transformer output naming convention.
isaacsim.benchmark.services
Added
Physics-step-interval recorder tracking the duration between physics update steps.
Support for warmup frames when starting a benchmarking phase.
rtf_stabilityrecorder: windowed real-time factor (sim time / wall time) with mean/stdev. Controlled by/exts/isaacsim.benchmark.services/rtf_stability/window_wall_msand/exts/isaacsim.benchmark.services/rtf_stability/export_window_samples; default wall window 100 ms.rtf_stabilityderived metrics: percent of windows within ±0.01 / ±0.10 of the phase mean windowed RTF.
Changed
Multitick validation features (timestamp tolerance, golden directory management) added to
validation.py.Frametime metric sample trimming is now disabled by default.
isaacsim.code_editor.jupyter
Changed
Added internal token-based authentication to prevent code execution by unauthenticated sources.
Fixed
from __future__ import annotationsno longer shadows the__future__module.Replaced mutable default arguments in
Executor.__init__withNonedefaults.SystemExitandBaseExceptionsubclasses in user code are now caught and returned as errors instead of crashing the application.
isaacsim.code_editor.python_server
Added
Fire-and-forget mode (
"fire_and_forget": truein the envelope) returns an immediate{"status": "ok", "fire_and_forget": true, "task_id": "<uuid>"}and runs the code in the background; results are retained for up to 100 tasks (FIFO eviction) and retrievable via introspection.Introspection endpoint (
{"introspect": "<command>"}) forcontexts,context,tasks,task,delete_context,status.JSON envelope protocol:
{"code": ..., "args": ..., "timeout": ..., "context": ..., "fire_and_forget": ...}. Raw Python source is also accepted; a JSON-looking-but-invalid payload falls back to raw execution.Keepalive elapsed time via the
keepalive_intervalsetting (adds anelapsed_secondsfield to the response when set and execution exceeds the interval).Named execution contexts keyed by a string; the default context (
"") preserves existing behaviour and each context is an independent persistent globals namespace.Per-request execution timeout (
timeoutin the envelope or theexecution_timeoutsetting). Async code usesasyncio.wait_for; sync code uses a background watchdog timer. Returns{"status": "error", "ename": "TimeoutError", ...}.New settings:
execution_timeout(default0),keepalive_interval(default0), andrequire_auth/auth_token. When authentication is required and no token is configured, the server generates one at startup.Token authentication via the
auth_tokenJSON envelope field or the# isaacsim-python-server-token:raw-source header.New test suites
test_advanced_features.pyandtest_protocol_robustness.pycovering all new features and TCP fragmentation handling.
Fixed
Async user code (for example
create_new_stage_async,update_app_async) no longer raisesRuntimeError: Cannot enter into taskon Python 3.12+. Replacedcreate_task(_await_and_reply)with manual coroutine stepping via_drive_coroutine()so user code never runs inside an asyncio Task.TCP data is buffered until EOF instead of processing on first
data_receivedcall, preventing partial execution of fragmented payloads.print()output from awaited coroutines is captured in the JSON responseoutputfield instead of being lost to real stdout.RecursionErrorandMemoryErrorin user code no longer hang the server; exception handlers are resilient to secondary failures.Replaced
run_coroutine_threadsafewithensure_futureindata_receivedand scheduled execution viacall_soonoutside the transport’s_read_readycallback to avoidcannot enter contexterrors on Python 3.12+.SystemExitandsys.exit()in user code are caught and returned as errors instead of crashing the application.
isaacsim.code_editor.vscode
Fixed
Eliminated a shell-injection risk by resolving
codeviashutil.which()and removingshell=True.Show a Kit warning notification when VS Code cannot be launched because
codeis not available on the system.
isaacsim.core.api
Changed
ParticleMateriallift/dragparameters, setters, and getters are now no-ops with deprecation warnings (PhysX removedphysxPBDMaterial:lift/physxPBDMaterial:drag).Removed the
cloth.pystandalone example, the deprecated deformable/cloth/particle tests, and the deformable-body/cloth API implementations (replaced by error stubs; PhysX removed these features).Updated
PhysicsContextto use the renamed PhysX attributeGpuMaxDeformableVolumeContacts.
Deprecated
Extension deprecated in favor of the Core Experimental extensions
isaacsim.core.experimental.*.
Fixed
Extensive correctness fixes (60+) across
ArticulationController,BaseTask,PhysicsContext,PhysicsMaterial,Robot/RobotView,Scene/SceneRegistry,SimulationContext,World, and the example tasks (FollowTarget,PickPlace,Stacking). Common patterns include: missing returns aftercarb.log_error, getters silently applying schemas as a side effect, NaN handling inapply_action, wrong keyword (position=vstranslation=) inset_local_posecalls, raising the documentedRuntimeErrorinstead of leakingAttributeErrorwhen called beforeinitialize(), and several incorrect default values / annotations in docstrings.ArticulationController.get_applied_action/switch_control_mode/switch_dof_control_modenow raise the documentedRuntimeErrorwhen called beforeinitialize()(6132508).PhysicsContext.get_gravityno longer crashes when the physics scene or gravity attribute isNone;PhysicsContext.set_gravityno longer rejects zero magnitude (preserves downward direction);PhysicsContext.set_solver_typeno longer accepts invalid strings;PhysicsContext.enable_stabilizationis now correctly spelled (6014961, 6036079, 6036084, 6060122).SimulationContext.add_physics_callbackregisters callbacks as pre-step instead of post-step (6035957).SimulationContext.renderno longer skips fabric initialization whencurrent_time == 0(6035943).SimulationContext.get_physics_context()returnsRuntimeErrorwith an actionable message instead ofNonebeforereset_async().
isaacsim.core.cloner
Fixed
Handle zero-clone grid requests and invalidate cached grid transforms when the clone count changes.
Initialize cloner listener state before listener enable/disable calls.
Restore USD / Fabric change listeners when cloning exits with an exception.
Validate clone source prim paths before calling USD bindings.
isaacsim.core.deprecation_manager
Fixed
import_moduleno longer leaves the module unstubbed when an optional dependency (for exampletorch) is missing.Skip
exit_appduring stub generation to prevent Kit shutdown when optional dependencies are missing.
isaacsim.core.experimental.actuators
New extension
isaacsim.core.experimental.materials
Added
Non-visual material.
isaacsim.core.experimental.primdata
New extension
isaacsim.core.experimental.prims
Added
Filterless contact API capturing all contacts for prims, plus
ContactPointData,ContactEventData,ContactReportDatastructs and contact event type constants (kContactEventFound/Lost/Persist) inIPrimDataReader.h.enableContactReporting()/getContactReport()virtual methods on theIPrimDataReaderinterface.SdfPathToken.hwithsdfPathToToken/tokenToSdfPathhelpers for PhysX contact body identifiers.Bumped
CARB_PLUGIN_INTERFACEversion to(2, 2).Remote-simulator (
remotesim) support for articulation DOF target writes;Articulation._deferred_switch_remotesim()switches engines after the PhysX prim query completes and is invoked from_on_physics_ready.Tests verifying
Articulationlink, joint, and DOF names and indices are non-empty before physics initialization and match the post-physics enumeration for fixed-base and floating-base assets.
Changed
Decoupled the prim-data-reader interface from its implementation (implementation moved to
isaacsim.core.experimental.primdata).Added a configurable provider extension setting and lazy provider loading to enable the primdata extension on-the-fly.
Use
SimulationManager.get_active_physics_engine()for Newton engine detection inRigidPrimandArticulationinstead of checking for a_newton_stageattribute on the view object.Quaternion reorder index array
[6, 3, 4, 5]is cached per device at module level to avoid repeated allocation onget_world_poses/get_coms/set_world_poses/set_coms.Articulation.get_dof_*andget_world_poses/get_velocitiesskip Warp fancy-indexing whenindices=Noneanddof_indices=None(guarded for heterogeneous safety).Improve the exception message related to xformOp reset status.
Added tests for the PhysX tensor-backed world transform path in
IPrimDataReader.
Fixed
XformPrim.__init__no longer raisesTypeErrorfor non-root articulation links (the offendingraise carb.log_warn(...)is now a plaincarb.log_warn(...)).Populate
Articulationmetadata from USD when running with theremotesimbackend.Resolve descendant articulation targets to their containing articulation root.
Switch to the
remotesimengine when other physics engines are still active, even ifremotesimis already marked active.Removed the obsolete SimState remote-push gate so articulation DOF commands continue writing to
SimStateStoragewhen SimState mode is enabled.Remove unused
unitsResolveproperties (other thanxformOp:scale:unitsResolve) when resetting transformation operation attributes.Fixed the link mass inverse test to not add epsilon to the denominator.
isaacsim.core.experimental.utils
Added
compute_relative_transform(transform utils, world matrices) andget_relative_transform(xform utils, USD prims).look_at_matrixto compute a USD camera transform (Gf.Matrix4d) from eye and target positions, with automatic collinearity fallback.upgrade_prim_semantics_to_labelsfor migrating deprecatedSemantics.SemanticsAPItoUsdSemantics.LabelsAPI.SimStateModeenum andget_simstate_mode()for SimState backend selection.
Changed
Breaking:
euler_angles_to_quaternionandeuler_angles_to_rotation_matrixnow expect[roll, pitch, yaw](XYZ) input order for both extrinsic and intrinsic conventions, enabling clean euler-to-quaternion-to-euler round trips.Cache
arangeindex arrays globally inops.resolve_indices(keyed by(count, dtype, device)) so repeatedx=Nonecalls across callers reuse the same Warp array without re-allocating.
isaacsim.core.includes
Added
PhysicsEngine.hheader withgetActivePhysicsEngineName()to query the active physics simulation backend.BindingsPythonUtils.hheader for pybind11 bindings utilities.
Changed
Transforms.husesgetActivePhysicsEngineName()for simulation-view creation instead of defaulting tonullptr.
Fixed
Added Doxygen
@condto hide the internal templateQuatFromAxisAngleinQuat.h.Added warning logs when rigid-body APIs fail.
isaacsim.core.nodes
Changed
IsaacCreateRenderProductsupports SRTX render-product creation and reusing existing render products via therenderProductPriminput.OgnIsaacComputeOdometryandOgnIsaacComputeTransformTreeusegetActivePhysicsEngineName()to select the simulation backend dynamically instead of hardcoding"physx".IsaacComputeTransformTreecaches parent world poses and uses quaternion math (instead ofGfMatrix4d) for relative-transform computation, improving performance.OgnIsaacComputeOdometrycallsupdate()on the articulation/rigid-body view at the start of each physics tick to flush pending PhysX data before reading transforms and velocities.OgnIsaacComputeTransformTreeresolvesisaac:nameOverridelazily at compute time, reads physics poses from the active backend, composes non-physics prims from cached USD local transforms, and only resizes output arrays when the pair count changes.Switched to
app_utils.update_app_async(...)in tests for multitick compatibility.
Fixed
IsaacComputeTransformTreeapplies a 180° X-axis rotation forUsdGeomCameraprims to convert USD camera convention to ROS optical frame.IsaacArticulationControllerrejects command arrays whose length does not match the explicit joint selection, skipsNaNentries instead of reading previous targets, validates all three command arrays atomically, and promotes silentdb.log_warnfailures todb.log_errorwith the prim path and exception text (6109472, 6113767, 6114423).OgnIsaacComputeOdometrybindschassisPrimto a rigid-body view whenever the prim hasUsdPhysicsRigidBodyAPI(even if it also hasUsdPhysicsArticulationRootAPI), fixing incorrect odometry when Robot Assembler extends the articulation graph and shifts PhysX’s auto-selected root onto a non-chassis link.OgnIsaacComputeOdometrywalksisaac:physics:robotLinksto find a link with the appropriate physics API whenchassisPrimcarriesIsaacRobotAPIbut notUsdPhysicsRigidBodyAPI/UsdPhysicsArticulationRootAPI.OgnIsaacComputeTransformTreereconstructs kinematic topology fromisaac:physics:robotJointswhen expandingIsaacRobotAPItargets so the emitted TF tree mirrors the joint graph instead of parenting every link to world.OgnIsaacComputeTransformTreerefines theIsaacRobotAPIfallback viaisaacsim.robot.schema’sGetAllRobotComponentshelper, skips self-loops, and applies the ROS optical-frame rotation to camera-sites.OgnIsaacJointNameResolverno longer prints garbled memory in error messages (passstate.m_robotPath.c_str()rather than thestd::stringitself); descends the prim hierarchy when the suppliedtargetPrim/robotPathlacksUsdPhysicsArticulationRootAPI.OgnOnPhysicsStepuses the genericIPhysicsSimulationAPI instead of the PhysX-specificIPhysxAPI for physics-step event subscriptions, enabling OmniGraph execution with any physics backend.
isaacsim.core.prims
Changed
Cloth and deformable prim implementations replaced with error stubs (PhysX removed these features).
Joint or DOF indices can now be specified when accessing data via the
joint_namesparameter, with the last one set as the default option.Updated
ParticleSystemfor the renamed PhysX attribute and updated the return types of theRigidPrimannotations.
Deprecated
Extension deprecated in favor of the Core Experimental extension
isaacsim.core.experimental.prims.
Fixed
Extensive correctness fixes (60+) across
Articulation,GeometryPrim,RigidPrim,XFormPrim,Prim,SdfShapePrim,SingleArticulation,SingleRigidPrim, andParticleSystem. Common patterns: missing return after the not-initialized guard; getters silently applyingUsdPhysics.*/PhysxSchema.*APIs as a side effect;RigidPrimUSD-fallback gravity boolean inverted;Articulation.apply_action/set_joint_effortszeroing unspecified joints when partialjoint_indiceswere passed;RigidContactView.__init__missing thedisable_stabilizationparameter (6042901);RigidPrimlen()on Warp arrays (useshape[0]); 4GeometryPrimcontact-force methods missing| Nonein their return annotations.Prim._on_prim_deletionno longer falsely invalidates wildcard views (the.*regex matched/).XFormPrim.set_world_poses(usd=False)no longer destroys non-uniform scale;XFormPrim.get_local_scalesno longer returnsNaNwhen a prim has noxformOp:scale.Default state is re-converted when the backend changes after initialization (for example automatic numpy-to-torch switch for GPU pipelines).
isaacsim.core.rendering_manager
Added
_ensure_fabric_simulation_timeclass method to seed the/ExternalSimulationTimeFabric prim for the multitick renderer.
Changed
ViewportManager.set_camera_viewnow delegates look-at matrix computation tolook_at_matrixfromisaacsim.core.experimental.utils.transform.
Fixed
RenderingManager.set_dt()now updates Fabric’s default simulation-period settings (/app/settings/fabricDefaultSimPeriodNumeratorand/app/settings/fabricDefaultSimPeriodDenominator) along with USD/timeline timing. Kit reads these defaults when creating Fabric history stages, so newly-created caches use a render-product period matching the requested rendering dt instead of Fabric’s 1/30 s default.test_callbackno longer asserts an exact 1:1 mapping betweenRenderingManager.render_async()calls andNEW_FRAMEdispatches.
isaacsim.core.simulation_manager
Added
"remotesim"is supported inget_active_physics_engine()andswitch_physics_engine(), including aPhysicsScenewrapper branch increate_scene().Optional multitick support:
TimeSampleStorageand the plugin interface use physics time to drive rendering time via theonPhysicsStepcallback.
Changed
Multitick simulation time is communicated via the
/ExternalSimulationTimeFabric prim instead of via the previousset_next_simulation_timeAPI.Refactored the stage event subscription to be lazily initialized with null-safety checks for USD context and stage.
Route Newton simulation-view creation through
omni.physics.tensors.create_simulation_viewwithbackend="newton"instead of the Pythonisaacsim.physics.newton.tensorsimplementation.Stop unconditionally applying
PhysxSceneAPIin C++UsdNoticeListener/PluginInterface; the API is now applied by the engine-specific Python wrapper (PhysxScene).Remove stale solver APIs (
PhysxSceneAPI,MjcSceneAPI,NewtonXpbdSceneAPI) and re-create physics scene wrappers inSimulationManager._on_engine_switched()when switching engines.When available, use integer time steps per second and step count to compute simulation time in the
onPhysicsStepcallback to eliminate accumulated bias from float timestep precision.IPhysicsSimulation::getSimulationTimeStepsPerSecond()now returns the authoritative value, so the USD-attribute workaround inonPhysicsStepis removed.PhysicsScene.get_dt()/set_dt()dispatch based onPhysxSceneAPIpresence on the prim instead of querying the active engine.Use local
BindingsPythonUtils.hfromisaacsim.core.includesinstead ofcarb/BindingsPythonUtils.h.Removed the Newton pip prebundle dependency.
Removed
Removed the non-multitick code path.
Fixed
Add missing
@staticmethoddecorator to 5 internal event callbacks (_on_simulation_registry_event,_on_stage_opened,_on_stage_closed,_on_play,_on_stop).Fix simulation time using stale steps-per-second from the physics runtime when the rate is changed between stop/play cycles. Read the authoritative value from
PhysxSceneAPI::timeStepsPerSecondinstead of relying on the cachedIPhysicsSimulation::getSimulationTimeStepsPerSecond().Raise
RuntimeErrorinPhysicsScene.set_dt(),set_enabled_gravity(), andset_max_solver_iterations()whenNewtonSceneAPIis not applied, matching thePhysxSceneerror-handling pattern.Restore mode-specific
TimeSampleStoragehandling for render-product reference times (multitick vs non-multitick).Route base
PhysicsScenetimestep updates to the active engine so PhysX scenes do not author Newton timestep values that can hang playback.
isaacsim.core.throttling
Fixed
Async rendering is now disabled after the timeline play callback returns, preventing hangs when play-on-load examples start simulation while async rendering is enabled.
Async rendering no longer re-enables on timeline pause / stop while Replicator is capturing with attached annotators, preventing skipped writer frames.
isaacsim.core.utils
Deprecated
Extension deprecated in favor of the Core Experimental extension
isaacsim.core.experimental.utils.
Fixed
Extensive correctness fixes (40+) across math, transform, stage, and prim utilities. Common patterns: zero-vector and zero-magnitude guards (
normalize(),rotational_distance_single_axis(),lookat_to_quatf()); recursion on deep hierarchies (_get_world_pose_transform_w_scale()); crash-on-missing-prim or empty input (compute_aabb,compute_combined_aabb,get_mesh_vertices_relative_to,recompute_extents); O(N²) BFS/DFS concatenation inget_all_matching_child_prims/get_first_matching_child_prim;eval()security risk inset_prim_attribute_value()replaced withgetattrresolution;save_stage()no longer destroys the existing USD file before content is committed.Added the scalar-first
(w, x, y, z)quaternion convention to thetf_matrix_from_posedocstring.Preserve Warp quaternion conversion input device placement for CPU and CUDA arrays (6035739).
Stop treating valid semantic labels as incorrect merely because they are absent from the prim path (6036025).
isaacsim.cortex.behaviors
Deprecated
Extension deprecated. Will be replaced in 7.0 with simple examples and open-source equivalents.
isaacsim.cortex.examples
New extension
isaacsim.cortex.framework
Changed
Added the missing
isaacsim.robot.manipulatorsdependency; removed the unusedisaacsim.robot.manipulators.examplesdependency.
Deprecated
Extension deprecated. Will be replaced in 7.0 with simple examples and open-source equivalents.
Fixed
MotionCommand.__init__type annotation forapproach_paramscorrected fromOptional[np.ndarray]toOptional[ApproachParams].
isaacsim.examples.browser
Changed
The detail view mirrors a file browser: a category shows its directly-registered examples plus a folder tile for each immediate sub-category. Double-clicking a folder tile drills the tree selection into that sub-category.
Each
ExampleCategoryItemowns its examples directly, removing the previous flat-dict / string-prefix lookup inget_detail_items.
Fixed
Added missing
asyncioandomni.kit.appimports inproperty_delegate.py; the dynamic thumbnail-resize callback no longer raisesNameError.6130501: Example browser detail panel was empty when clicking a synthetic parent category whose examples were only registered under sub-categories.
isaacsim.examples.extension
Deprecated
Extension deprecated in favor of the
repo.sh templateCLI system (./repo.sh template new); moved tosource/deprecated/.
isaacsim.examples.interactive
Added
Docstring deprecation plus runtime warnings; use
isaacsim.examples.baseinstead.
Changed
Added
isaacsim.robot_motion.cumotionandisaacsim.robot_motion.experimental.motion_generationdependencies.Updated imports to use
isaacsim.robot.experimental.manipulators.examples; removed dependencies on Cortex.Moved the
base_samplemodule to theisaacsim.cortex.examplesextension.Updated Surface Gripper example to resolve the reverse-console functionality.
isaacsim.examples.ipc
New extension
isaacsim.examples.ui
Fixed
6107587: Example UI window content overflowed on normal displays, hiding the lower frames. Window content is wrapped in a
ui.ScrollingFramewith the vertical scrollbar always on, and the window is given an explicit defaultheight=600.
isaacsim.gui.components
Changed
UI tweaks for the file icon.
Updated UI utility functions based on requirements from Isaac Sim importers.
Fixed
Eliminated shell-injection risk in
on_open_IDE_clickedby resolvingcodeviashutil.which()and removingshell=True.Eliminated shell-injection risk in
on_open_folder_clickedby replacingsubprocess.Popen(["start", ...], shell=True)withos.startfile()on Windows.6105784:
SearchListItemModel.filter_text()crashed withAttributeErrorwhen callers passed a list or tuple. Added_normalize_search_filter_text()to coerceNone,list, andtupleinputs to a single string before splitting.StateButton.is_in_a_state()returnsFalse(notNone) when not in state A;StateButtonnow guards against identical text for states A and B.Widened
style.get_style()return type todict[str, Any]to accurately describe the"Tooltip"entry (a tuple of style dicts).
isaacsim.gui.content_browser
Added
Added the Robot Multiphysics folder.
Changed
Added
isaacsim.storage.nativeas a dependency.Resolve content browser folder paths relative to
persistent.isaac.asset_root.defaultinstead of hardcoding full URLs.Updated the USD Search API endpoint.
Use
omni.simready.content.browserdefault settings instead of overriding them.
isaacsim.gui.menu
Changed
Migrate extension implementation to the Core Experimental API.
Fixed
Help menu:
OpenUSD Reference Guide,Warp Getting Started, andWarp Documentationnow render reliably inisaacsim.exp.full.kit. The actions andMenuItemDescriptionentries are registered locally instead of binding tosource=items not provided by the app’s dependency closure.
isaacsim.gui.property
Added
New Joint Inspector window (
Tools > Robotics > Joint Inspector): a searchable, dockable joint table with PhysX / MuJoCo backend toggles, per-axis columns, multi-row editing, and aSave to Robot Layerbutton (SaveRobotSchemaToRobotLayer).Column catalogue across five groups tagged by backend:
Joint Limits,Drives,Performance Envelope,Joint State,MuJoCo Joint; column selection persists across robot switches.Array Properties widget supports editing
string[]andtoken[]USD attributes alongside the existing scalar/vector numeric arrays.Added
Attachment Point APIto the Robot Schema UI menu.JointInspectorWindowManagersupports multiple concurrent windows via the+ New Inspectorbutton.Joint-name filter is a single rounded input with
fnmatchwildcards over joint name and full path.Per-axis columns collapse to one when every joint authors at most one axis; fan out only for multi-DOF
D6Joint.Isaac API schemas registered with Kit’s
MultiSchemaPropertiesWidget.__known_api_schemasto prevent Extra Properties duplication.RobotAPIWidgetrewritten with Figma-style layout, editable attribute fields, drag-reorderable Robot Joints / Robot Links, and aforce_updatetoggle.
Changed
Robot-schema widget registrations now use
collapsed_by_default=True.
isaacsim.gui.sensors.icon
Added
Recognize
IsaacRaycastSensorfor icon display.
Changed
Marked
Lidar,IsaacLightBeamSensor, andGenericas deprecated in theSENSOR_TYPESlist (kept for backward compatibility).Updated the test default prim type from the deprecated
GenerictoIsaacContactSensor.
isaacsim.hsb.core
New extension
isaacsim.hsb.nodes
New extension
isaacsim.physics.newton
Added
CTRL_DIRECTactuator PD control via the tensor API, bridgingset_dof_stiffnesses/set_dof_dampings/set_dof_position_targetsto MuJoCo actuator parameters (gainprm,biasprm,ctrl) and settingbiastype=AFFINE, so robot policies (for example Go2) work with Newton when USD usesmujoco:actuatorrather thanphysics:driveAPI.Document Newton asset compatibility limitations and workarounds.
Perform a device check before running simulation in
simulation_managerto prevent double initialization when the device changes.Regression tests for Newton initialization error handling; unit test exercising imported URDF and MJCF asset behavior on both PhysX and Newton.
Changed
Updated Newton pip dependencies to
newton 1.2.0rc3,mujoco-warp 3.8.0.2,newton-usd-schemas 0.2.0.Updated tensor frontend import paths for the
omni.physics.tensorspackage restructuring.Contact-force scaling in the tensor view uses
SimulationManager.get_physics_dt()instead of the Newton stagesim_dt.get_simulation_time_steps_per_secondreturnsintrather thanfloatto comply withomni.physics.corebindings.
Removed
Removed the
isaacsim.core.utilsdependency.
Fixed
Added
cleanup_stale_newton_indextoFabricManagerto remove leftovernewton:indexfrom prims no longer tracked as dynamic bodies; bounds checking added inset_fabric_transformsto skip out-of-range body indices.shape_gapdefault for static colliders corrected from 0.1 m to 0.0.Stale model references fixed in all tensor view classes (
NewtonSimView,ArticulationSet,RigidBodySet,RigidContactSet, and their frontend wrappers).Unbounded growth of
contact_callbacksandstep_callbackslists fixed by replacing tombstone lists with dict-based storage, so unsubscribed slots are reclaimed and iteration is O(active callbacks).Forward the user-provided
dtintosimulate()when recording the CUDA graph so step times match the requested timestep.MuJoCo solver: run
Model.collideonce persimulate()whenuse_mujoco_contactsis false, skip Newton collide when true, and callSolverMuJoCo.update_contactsafter everysimulate()socontacts.forceand related fields match the solved MuJoCo state.Newton contact tensor API: apply force sign convention in net and matrix kernels (add for shape0, subtract for shape1) so net contact forces match PhysX expectations.
Populate contact points from MuJoCo world-space positions when Newton Contacts do not provide
rigid_contact_point0/1.Resolve pre-physics articulation link, joint, and DOF metadata by parsing the USD subtree with Newton’s importer, so
Articulation.dof_namesand indices are available before physics is initialized and match the post-initialization order. Results are cached per(stage_id, prim_path)and invalidated on stage close.Route
set_dof_actuation_forces/get_dof_actuation_forcesthroughcontrol.joint_fso applied joint efforts drive the simulation.Run the first simulation step without CUDA graph capture so Warp’s link-time optimization compilation for
tile_matmul/tile_choleskydoes not get recorded into a bad graph.Try to load USD with a flattened stage when composition cycles are present.
Use the Newton collision pipeline as the default instead of MuJoCo.
isaacsim.physics.newton.tensors
New extension
isaacsim.pip.newton
Added
Added
coacd 1.0.7for convex-decomposition support.
Changed
Updated
newtonto 1.2.0,mujocoto 3.8.0,mujoco-warpto 3.8.0.3,newton-usd-schemasto 0.2.0,mujoco-usd-converterto 0.2.0,cbor2to 5.9.0,imgui-bundleto 1.92.601,absl-pyto 2.4.0, andetilsto 1.13.0 (pinned for Python 3.10 build tool compatibility).Removed the
newton-actuatorsdependency.
isaacsim.replicator.behavior
Changed
The property-window refresh is dispatched via the new
isaacsim.replicator.behavior.EXPOSED_VARS_CHANGEDcarb event (subscribed to byisaacsim.replicator.behavior.ui), so the core behaviors can run headless. Theomni.kit.window.propertydependency is dropped from the core extension.Clarified
LocationRandomizerdocstrings forframe:useRelativeFrameandframe:targetPrimPath.
Fixed
_setupis now idempotent inTextureRandomizer,RotationRandomizer,LocationRandomizer,LightRandomizer, andLookAtBehavior. A play/pause/play loop previously re-cached the already-randomized state as “initial” and restored stale values on stop (for example pallets left bound to a removed randomizer material and rendered gray). Prim resolution, initial-state caching, and material creation now run only on the first entry of a play session; exposed variables are still re-read on every call.LightRandomizer._resetskips cachedinputs:intensity/inputs:colorvalues that were unauthored at setup time and logs a warning instead of writingNoneback to the prim.TextureRandomizer._apply_behaviorskips the tick with a warning when no texture URLs are configured.decompose_rotationsupports single-axisxformOp:rotateX|Y|Zops and raisesValueErrorfor unsupported rotation orders.
isaacsim.replicator.behavior.ui
Added
Guarded the
omni.kit.window.propertyimport so the UI extension can be imported in headless contexts.Subscribe to
isaacsim.replicator.behavior.EXPOSED_VARS_CHANGEDand refresh the property window when exposed variables are created or removed; replaces the directomni.kit.window.property.request_rebuild()calls.
isaacsim.replicator.domain_randomization
Changed
Added extension-structure validation files (
README.md,isaac-sim.svg, OGN nodeCategoryDefinition.jsonfiles).
isaacsim.replicator.episode_recorder
New extension
isaacsim.replicator.episode_recorder.ui
New extension
isaacsim.replicator.examples
Added
Multiple-captures with toggled render product while the timeline is running test.
Changed
Augmentation examples now use custom event-based randomization.
SDG GeomSubset semantic segmentation test added for
perSubsetSegmentationtrue/false.SDG deformables test now compares semantic segmentation labels instead of images.
Tests now store results in uniquely-named temp directories to avoid run-to-run test pollution.
Enable multitick in all tests.
isaacsim.replicator.experimental.domain_randomization
Changed
Registered OGN nodes under the
isaacsim.replicator.domain_randomizationnamespace with backward-compatibility bridges for deprecated context, views, and simulation context.
Fixed
OgnWritePhysicsArticulationViewno longer raisesKeyErrorwhen randomizing tendon attributes on robots with no fixed tendons.Module-level physics view state is now cleaned up on stage close/reload, fixing stale views accumulating across sessions.
isaacsim.replicator.experimental.mobility_gen
Added
MobilityGenMultiSensorRobotandMobilityGenSensorRigfor YAML-driven multi-sensor robots; camera rendering is supported, other sensor types (lidar, IMU, radar) are discovered but not yet rendered.generate_sensor_rigs.pyscript to discover sensor prims in a robot USD and scaffoldsensor_rig:YAML blocks.Camera calibration overrides (intrinsics, distortion, extrinsics) made in the UI are persisted to
sensor_overrides.usdaat recording time and re-applied during replay.nurec_overridesmodule exportingis_nurec_stageandapply_nurec_replay_overrides. Detects NuRec stages by traversing forParticleFieldprims; when detected, forces replay flags to the supported subset (RGB only) and re-asserts/rtx/rtpt/gaussian/skipTonemapping/enabled = False.sensor_overrides.pymodule withsave_sensor_overrides,apply_sensor_overrides,log_camera_properties.
Changed
state/common/steps are now saved as.npz(named arrays) instead of.npy(pickled dict); usemigrate_recordings.pyto convert older recordings.replay_directory.pyinvokesapply_nurec_replay_overridesafter eachload_scenarioso per-recording flag overrides take effect before render-product attachment.
Fixed
Recordings are now self-contained, fixing broken texture/material references on replay when the source scene used external assets.
GridPoseSampler.sample_pxfalls back to full-map uniform sampling when the selected grid block has no freespace (fixes aValueError: high <= 0crash).KeyboardButton._event_callback/KeyboardDriver._event_callbackreturnTruefor handled WASD events so Kit’scarb.inputstops propagating them to focused text fields (fixes bufferedwwww...appearing in text fields after teleoperation).MobilityGenRobot.update_statecaches PhysX joint-index and quaternion-reordering arrays and removes a redundantget_world_poses()call;get_pose_2dreplacesquaternion_to_euler_angles().numpy()with directnp.arctan2yaw, eliminating per-step GPU-to-CPU sync.MobilityGenWriter.write_state_dict_commonoffloads npz disk flush to a background thread with a bounded queue (max_pending=8).OccupancyMapprecomputes_freespace_mask_cacheat construction and eliminates a duplicateworld_to_pixel_numpycall.Test runner: converted test classes from
unittest.TestCasetoomni.kit.test.AsyncTestCaseso tests are awaitable;np.loadmmap handles fixed on Windows to allow tempdir cleanup.
isaacsim.replicator.grasping
Fixed
get_gripper_joint_statesreturns POSIX joint keys on Windows (replacedos.path.relpathwith a string slice).simulate_physics_asyncandsimulate_physics_with_forces_asyncrestore the PhysX scene’s originalupdateType(or clear it if it was unauthored) viatry/finallyinstead of permanently leaving the scene set toDisabled.
isaacsim.replicator.grasping.ui
Fixed
Set explicit checkbox / label widths so checkboxes are reliably toggled via the Omniverse Kit API.
isaacsim.replicator.mobility_gen.examples
Added
YAML robot configs (
carter.yaml,jetbot.yaml,h1.yaml,spot.yaml) and concreteCarterMultiSensorRobot,JetbotMultiSensorRobot,H1MultiSensorRobot,SpotMultiSensorRobot; newWheeledMultiSensorRobotandPolicyMultiSensorRobotbase classes.generate_sensor_rigs.pyscript (same as in the core extension) to scaffoldsensor_rig:YAML blocks.
Changed
Force USD payload loading before
Articulationinitialization to ensureArticulationRootAPIis visible.Migrated to
isaacsim.core.experimental.prims(Articulation) in place ofisaacsim.core.prims.
Fixed
RandomAccelerationScenario.step: removed a redundantupdate_state()call afterwrite_action().
isaacsim.replicator.mobility_gen.ui
Changed
Migrated from the deprecated
isaacsim.replicator.mobility_gentoisaacsim.replicator.experimental.mobility_gen.Replaced
objects.GroundPlane(core.api) withGroundPlanefromisaacsim.core.experimental.objects.Replaced
set_active_viewport_camerawithViewportManager.set_camera.Replaced legacy world-based simulation control with
SimulationManagerand theSimulationEvent.PHYSICS_POST_STEPcallback.Use
save_stagewithout the deprecatedsave_and_reload_in_placeargument.
Fixed
Call
save_sensor_overrideson recording start to persist camera calibration changes made in the UI.Use
export_as_stagewhen caching the scene stage to prevent black images on replay.
isaacsim.replicator.synthetic_recorder
Changed
S3 checkbox bound directly to
backend_type(single source of truth); the legacyuse_s3flag is still honored when loading old configs.
Fixed
“Use S3” UI checkbox now actually switches the backend (previously a no-op and recordings silently fell back to disk).
backend_paramsis rebuilt from scratch on Start so toggling Disk / S3 no longer leaks stale keys intobackend.initialize().
isaacsim.replicator.teleop
New extension
isaacsim.replicator.teleop.ui
New extension
isaacsim.replicator.writers
Changed
Marked the
PytorchListenerandPytorchWriterimplementations as deprecated.
Fixed
invert_fisheye_polynomialnow logs a warning with the residual and iteration count when Newton-Raphson fails to converge withinmax_iterations, instead of silently returning the last iterate.project_pinholereturns the screen center for camera points whose homogeneouswis near zero, preventing a divide-by-zero crash when projecting points on the camera’s projection plane.
isaacsim.robot.experimental.manipulators.examples
New extension
isaacsim.robot.experimental.wheeled_robots
Added
WheeledRobotintegration test with kinematic distance assertion; directional sanity test for pure-forward command.
Changed
Removed
[::-1]reversal inHolonomicControllerto match the new[roll, pitch, yaw]euler-angle convention.
Fixed
Added missing public property accessors on
HolonomicRobotUsdSetup(wheel_radius,wheel_positions, …).Fixed the euler-angle convention bug in
HolonomicControllerthat reversed motion direction.Raise
ValueError(instead of a crypticTypeError) whenHolonomicControlleris constructed withoutwheel_radius/wheel_positions/wheel_orientations/mecanum_angles.Raise a clear
ValueErrorwhenWheeledRobotis constructed without wheel DOF names or indices.Raise an error when
quintic_polynomials_planner()cannot find a trajectory satisfying acceleration and jerk constraints.Reject non-finite
normalize_angle()inputs instead of looping indefinitely.
isaacsim.robot.manipulators
Deprecated
Extension deprecated in favor of
isaacsim.robot.experimental.manipulators.examples.
Fixed
Added a
Noneguard inParallelGripper.post_resetto prevent a crash when called beforeinitialize().PickPlaceController.__init__andresetnow rejectevents_dtwith fewer than 10 entries.
isaacsim.robot.manipulators.examples
Deprecated
Extension deprecated in favor of
isaacsim.robot.experimental.manipulators.examples.
Removed
FrankaExperimental,FrankaPickPlace,Franka Stacking (experimental),UR10Experimental,UR10FollowTarget,UR10 Stacking (experimental), and the interactive pick-place / follow-target UI extensions moved toisaacsim.robot.experimental.manipulators.examples.
isaacsim.robot.manipulators.ui
Deprecated
Extension deprecated in favor of
isaacsim.robot.experimental.manipulators.examples.
isaacsim.robot.policy.examples
Added
Newton can be used as a physics backend.
Standing test for the Go2 policy that holds a zero command and asserts the robot remains upright.
Unit tests covering the snapshot / restore helpers in
isaacsim.robot.policy.examples.interactive.utils, plus per-example roundtrip tests for Quadruped, Go2, and Humanoid.
Changed
Extracted the snapshot / restore physics-state logic shared by the interactive Quadruped, Go2, and Humanoid examples into
isaacsim.robot.policy.examples.interactive.utils.Defer the
torchimport to avoid loading it at startup.Set
reset_xform_op_properties=Truewhen instantiating theArticulation.
Fixed
Apply
PhysxArticulationAPIto the articulation root prim inPolicyController._set_articulation_propsif missing, avoidingEmpty typeNameUSD errors when the asset’s Physics variant does not author the API.Fix physics-variant selection to match USD variant names case-insensitively (resolves H1 robot loading failure when the variant set uses
Physxinstead ofphysx); log a warning when the requestedPhysicsvariant is not declared.Select the USD
Physicsvariant fromSimulationManager.get_active_physics_engine()so the Newton-compatible variant is chosen when Newton is active.Select the asset’s
Physicsvariant before constructing theArticulationinPolicyController.__init__soUsdPhysics.ArticulationRootAPIis authored on a descendant prim before root resolution.Restore the prior physics sim device and fabric state in the cleanup paths of the interactive examples so the PhysX direct-GPU API flag is not left enabled (which previously caused
PxArticulationJointReducedCoordinate::setDriveTargeterrors in subsequent sessions).Register
isaacsim.robot.policy.examples.robotsas a public module in the extension manifest.Spot fall-over issue in example resolved by reverting the physics dt to 500 Hz.
isaacsim.robot.poser
Changed
Cold-start IK ladder attempts now run concurrently on a
concurrent.futures.ThreadPoolExecutor; latency is bounded by the slowest single solve instead of the sum of all attempts (the LM solver andchain.compute_fkare stateless with respect to the chain).RobotPoser.apply_poseaccepts eitherdict[str, float](legacy) or aPoseResult; when aPoseResultwithsuccess=Falseis passed the call is a no-op and logs a warning instead of teleporting the robot to the lowest-error random-restart configuration.
Fixed
Cold-start IK (no
seed=and no cached_last_solution) now seeds the Levenberg-Marquardt solver from a prioritized ladder (joint-limit midpoint, deterministic random restarts within joint limits, then zeros) instead of always starting from the all-zero configuration. Fixes silentsuccess=Falsefailures on redundant arms such as the 7-DOF Franka Panda.solve_ikno longer trusts a stale_last_solutionblindly: the cached seed is tried first, but if it does not converge the full cold-start ladder runs in parallel as a fallback.Sanitize pose names via
pxr.Tf.MakeValidIdentifier; empty, colon-containing, and non-ASCII names no longer crashstore_named_pose/get_named_pose/delete_named_pose.store_named_poselogs a warning when a sanitized name collides with an existing pose stored under a different raw name.
isaacsim.robot.poser.ui
Changed
Migrate extension implementation to the Core Experimental API.
isaacsim.robot.schema
Added
IsaacRaycastSensorUSD schema type,plugInfoentry, sensor tokens, and a Python compatibility wrapper.GetAllRobotComponentshelper (C++ and Python): returns every prim in a robot’s subtree that applies any Isaac robot-schema API (IsaacRobotAPI,IsaacLinkAPI,IsaacJointAPI,IsaacSiteAPI,IsaacReferencePointAPI).RecalculateRobotSchemagains aforce_updatekwarg that rebuildsrobotLinks/robotJointsand authors cross-layerdeletedItems.SaveRobotSchemaToRobotLayerflushes composed state onto the layer authoringIsaacRobotAPIonly, with referenced-layer support via namespace translation.get_allowed_tokens(attribute)helper that readsallowedTokensdirectly from the bundledRobotSchema.usda.Articulation-root scoring now picks the highest-parentness rigid body when the articulation root is a grouping
Xform.New shared
_discover_articulation_graphhelper with aroot_link_overrideinput for seeding traversal from a user-chosen base link.Sub-robot boundary handling registers each sub-robot as one collapsed entry at its first boundary joint.
Changed
Migrated
rangeSensorSchemaandisaacSensorSchemafrom pre-built C++ typed schema libraries (omni-isaacsim-schemapackman package) to codeless USD schemas. Added Python compatibility wrappers (omni.isaac.RangeSensorSchema,omni.isaac.IsaacSensorSchema) so existing Python consumers work without changes. All C++ consumers now use genericprim.GetAttribute(token)/prim.GetTypeName()instead of typed schema classes.Removed the
omni-isaacsim-schemapackman dependency and associated native library entries.Removed ultrasonic sensor schemas (
UltrasonicArray,UltrasonicEmitter,UltrasonicFiringGroup,UltrasonicMaterialAPI) — no code references existed.Removed the
omni.usddependency fromextension.toml.Added
sensor_tokens.hheader providing token constants for all sensor schema attributes and type names.Replaced
CARB_LOG_WARNwithfprintf(stderr, ...)in the C++ header; replacedcarb.log_*with Pythonlogging.Replaced
omni.usd.get_world_transform_matrixwith purepxrUsdGeom.Xformable.ComputeLocalToWorldTransform.Targets now written as prepend list ops via
_set_targets_as_prepend, preserving additive composition with downstream layers.PopulateRobotSchemaFromArticulationandRecalculateRobotSchematraverse DFS by default with atraversalkwarg ("dfs"|"bfs"); only registerRigidBodyAPIprims asrobotLinksandJointAPIprims asrobotJoints; grouping Xforms skipped._apply_apiis a no-op when the schema is already applied, preventingapiSchemaschurn on recalculation.
Deprecated
IsaacLightBeamSensorand therangeSensorSchemaLidar/Generictypes — used only by the deprecatedisaacsim.sensors.physxextension. UseIsaacRaycastSensorwithisaacsim.sensors.experimental.physicsorisaacsim.sensors.experimental.rtxinstead.The
IsaacLightBeamSensorPython wrapper and theomni.isaac.RangeSensorSchemamodule now emitDeprecationWarningon construction / import.
Fixed
GenerateRobotLinkTreegrafts links and physics joints from nested sub-robots onto the parent’s kinematic tree, so forward kinematics propagates through the entire assembly (gripper variants attached at a wrist link, etc.). Per sub-robot, prims carryingIsaacRobotLinkAPI/IsaacRobotJointAPIare preferred; bareUsdPhysicsRigidBodyAPI/UsdPhysicsJointprims are picked up only as a fallback.GenerateRobotLinkTree: rewrote the twoUsdPrimRangeloops to conventional range-for shape soutils.his includable from C++ consumers.PopulateRobotSchemaFromArticulation/RecalculateRobotSchemafall back torobot_primas a synthetic articulation root and sweepUsd.PrimRangeto applyJointAPI/LinkAPIwhen BFS yields no chain, ensuring relationships are populated on vehicle and drone assets.robot_schemaimportspxr.Usdduring module initialization sopxr.Usdannotations resolve in standalone wheel environments.Added
GetRobotLinkParentMaphelper toutils.hfor resolvingisaac:physics:robotJointsbody0/body1relationships into a child-link to parent-link path map.
isaacsim.robot.schema.ui
Changed
Gate USD
SELECTION_CHANGEDsubscription andObjectsChangedlistener on effective visibility; background tabs and hidden windows no longer pay per-click or per-stage-tick handler cost.Resolve the active robot via
usdrt.Usd.Stage.GetPrimsWithAppliedAPIName("IsaacRobotAPI")against Fabric, replacing the per-selection USDprim.HasAPIancestor walk.Pin the active robot scope across selection changes (eliminates the per-click flash); selecting a child robot in nested-robot setups now shows only the child.
MaskingOperations.bypass_prim/unbypass_primreturn(success: bool, joint_info: tuple[str, str] | None)instead of an overloadedNone.SelectionWatch._on_selection_changedearly-returns when the resolved tree-view item set is unchanged.
Fixed
Inspector no longer crashes with
AttributeError: '_StageModel__usdrt_stage'when filtering the tree after a view-mode switch.MaskingState.toggle_bypassed/toggle_anchored/toggle_deactivated(andset_*) no longer silently report success and pollute the in-memory sets whenMaskingOperationsrejected the prim. In-memory state and the USD masking sublayer are now guaranteed to stay in sync.The unbypass path honors
(success, _)and restores the prior mask if a pre-emptive unmask was performed and the subsequent bypass was rejected by the backend.
isaacsim.robot.surface_gripper
Added
create_surface_gripperpublic Python API as a direct replacement for the Kit command.SurfaceGripperOmniGraph node (OgnSurfaceGripper) gains explicitOpenandCloseexecution-input pins alongside the existingTogglepin. OGN node version bumped from 2 to 3.
Changed
OgnSurfaceGripper.computedispatches on the firing execution-state of each pin (db.inputs.<pin> == omni.graph.core.ExecutionAttributeState.ENABLED) rather than on truthiness, withClosetaking precedence overOpenandOpenoverTogglewhen multiple pins fire in the same tick. Existing graphs that only wireToggleretain their prior behaviour.
Deprecated
CreateSurfaceGripperKit command, in favor ofcreate_surface_gripper().
Fixed
SurfaceGripperComponentnow defaults the joint forward axis toXeverywhere (cache initialization, per-joint parse fallback, and_getJointForwardAxisout-of-range fallback) to match theisaac:forwardAxisschema default. Previously the three C++ fallbacks returnedZ, producing inconsistent behavior on attachments whose joint was missing the attribute.
isaacsim.robot.surface_gripper.ui
Changed
Replaced
omni.kit.commands.execute("CreateSurfaceGripper")call sites with directcreate_surface_gripper()API.
isaacsim.robot.wheeled_robots
Changed
Deprecated extension in favor of
isaacsim.robot.experimental.wheeled_robotsandisaacsim.robot.wheeled_robots.nodes; moved tosource/deprecated; OmniGraph nodes removed (now inisaacsim.robot.wheeled_robots.nodes).
Fixed
Add validation for
wheel_radiusinDifferentialController.__init__to reject zero/negative values (division by zero).Documented
stanley_controlPID parameters (p,i,d) as unused/reserved to match the experimental version.Fixed an incorrect unit label in the
DifferentialControllerdocstring (cms→meters).Raise a clear
ValueErrorwhenWheeledRobotis initialized without wheel DOF names or indices.Reject non-finite
normalize_angle()inputs instead of looping indefinitely.
isaacsim.robot.wheeled_robots.nodes
New extension
isaacsim.robot.wheeled_robots.ui
Changed
Migrated to experimental APIs (
app_utils,prim_utils,stage_utils) replacing deprecatedisaacsim.core.utils; updated the dependency fromisaacsim.robot.wheeled_robotstoisaacsim.robot.wheeled_robots.nodes.Converted test file to use
SimulationManager, experimentalArticulation, andGroundPlane.
isaacsim.robot_motion.cumotion
Added
CumotionWorldInterfaceaccepts adeviceconstructor parameter (any valuewp.get_deviceaccepts; defaults toNone) and dispatches per-frame collider transform composition to either a vectorized NumPy (CPU) path or a Warp (CUDA) kernel.RmpFlowControllergainsmaximum_substep_sizefor sub-stepping when more stable integration is required.compute_collider_transforms_cpuutility: vectorized NumPy mirror of the Warp collider-transform kernel.normalize_urdf_for_urdfdom(urdf_text)helper (urdf_normalize.py): rewrites a URDF in-memory so it satisfies urdfdom 4.0.1’s strict parser without modifying any kinematically meaningful values (inserts defaulteffort/velocityon<limit>, adds a wide-open<limit>torevolute/prismaticjoints missing one, addsk_velocity="0"to<safety_controller>, drops empty<dynamics/>, removes<mimic>without a target joint). Idempotent on already-clean URDFs.
Changed
get_world_to_robot_base_transformmemoizes its return and yields the samewp.arraytuple until the base pose is updated.load_cumotion_robotpre-processes the URDF throughnormalize_urdf_for_urdfdomand callscumotion.load_robot_from_memory(instead ofload_robot_from_file), so URDFs produced byisaacsim.asset.exporter.urdf.UsdToUrdfConverterand similar generators load correctly. Disk content is never mutated.
Fixed
TrajectoryOptimizeris now functional on Windows.
isaacsim.robot_motion.cumotion.examples
Added
Best-effort per-class GUI warmup in
async setUp(prevents Windows hangs).Unit tests for button presses, slider values, and stateful behavior of all GUI components.
Changed
Refactored all five example sub-extensions (
graph_planner,trajectory_optimizer,rmp_flow,trajectory_generator,world_interface) so eachScenarioowns its scene loading, async lifecycle, and prim-wrapper teardown, whileUIBuilderis a strict view that only builds widgets and forwards events.Loading helpers are now async; reduced the number of GPU copies needed (some Warp arrays are only needed for
reset).TrajectoryOptimizerexample functional on Windows;Extensionremoves no-op physics-step subscriptions.
Fixed
UIBuildernow tracks and cancels in-flight_load_scene_asynctasks on cleanup and reload, preventing expired-prim errors when a new stage is created between tests.LOADno longer hangs when clicked while a previous load is still in flight;LOADis not cancelled mid-flight on the graph-planner.Removed
timeline.play()/ frame-wait /timeline.stop()from_load_scene_asyncso a failing CUDA init does not block the Kit update thread and preventnext_update_async()from resolving.We no longer force physics or rendering dt; throwing an uncaught
RuntimeErrorwas possible because timeline could be playing.wait_untilpoll interval reduced from 250 ms to 50 ms, cutting idle delay.
isaacsim.robot_motion.experimental.motion_generation
Changed
JointStateandSpatialStatebuild their per-row valid views (positions,velocities,position_indices, …) lazily on first property access, reusing zero-copy NumPy slices instead of eagerly allocatingwp.arrays in the constructor. Public API and semantics are unchanged.
isaacsim.robot_motion.lula
Changed
Moved to
source/deprecated.
isaacsim.robot_motion.lula_test_widget
Changed
Moved to
source/deprecated.
isaacsim.robot_motion.motion_generation
Changed
Moved to
source/deprecated.
Fixed
Added missing
return Noneaftercarb.log_errorinLulaCSpaceTrajectoryGenerator.compute_timestamped_c_space_trajectory(invalid interpolation mode),LulaTrajectory.get_joint_targets(out-of-bounds time),ArticulationKinematicsSolver.compute_end_effector_pose,compute_inverse_kinematics, andset_end_effector_frame.ArticulationTrajectory.get_action_at_timeraisesValueErrorimmediately aftercarb.log_errorfor out-of-bounds time instead of returning a structurally valid but semantically wrong action (6131126).
isaacsim.robot_motion.motion_generation.examples
Changed
Renamed extension and Python package namespace from
isaacsim.robot_motion.motion_generation.tutorialstoisaacsim.robot_motion.motion_generation.examples; moved tosource/deprecated.Example UIs register under a shared
Motion Generation Examplesmenu (RMPflow, Kinematics, RRT, Trajectory Generation).Old load/reset buttons changed out for newer button types.
isaacsim.robot_motion.pink
New extension
isaacsim.robot_motion.pink.examples
New extension
isaacsim.robot_setup.assembler
Changed
Variant payloads written by
RobotAssembler.begin_assembly/finish_assembleare now stored underpayloads/<variant_set>/<variant_name>.usd(relative to the base robot asset) instead ofconfiguration/<variant_set>_<variant_name>.usd. The variant-set name acts as a subdirectory rather than a filename prefix; the destination directory is created automatically.Made
assemble_rigid_bodiesandcreate_fixed_jointprivate (_assemble_rigid_bodies,_create_fixed_joint).RobotAssembler.__del__no longer callsreset()/cancel_assembly()because finalizers must not touch USD or schedule coroutines (the event loop andomni.usdcontext may already be torn down). Callers needing in-flight teardown must invokereset()explicitly.
Fixed
RobotAssembler.cancel_assembly()no longer raisesAttributeError: 'RobotAssembler' object has no attribute '_assembly_identifier'when called on a fresh instance or beforebegin_assembly();reset()now initializes the assembly sublayer state.
isaacsim.robot_setup.gain_tuner
Added
Snap to Limitstest mode with per-joint pass / blocked / fail results, andStress Testmode with Random Walk and Adversarial sub-modes.get_test_result_metrics()API.Pluggable
RobotTestregistry onGainTuner.Toggles to disable self-collisions and velocity limits.
GainTuner.add_inertia_updated_callback()andJointListModel.refresh_inertia_derived_columns()so the gains table refreshes Natural Frequency / Damping Ratio after deferred inertia computation.usd_layer_utilshelpers to resolve the robot physics layer for save (prim stack, nested sublayers, on-diskpayloads/Physics/physics.usda); unit tests for nested physx→physics sublayer composition.Closed-form theory unit tests (no physics solver) with golden literal stiffness/damping references; RK4 discrete damped-oscillator test for
_analyze_oscillation(isolates peak analysis from PhysX).
Changed
Default test mode is now
Snap to Limits; per-mode duration controls replace the sharedTest Durationfield.Menu entry moved to
Tools > Robotics > Asset Editors > Gain Tuner.Removed the dedicated extension
[[test]] name = "newton"oscillation job andTestGainTunerOscillationDynamicsNewtonuntil Newton-backed dynamics testing is fully integrated.
Fixed
Natural Frequency and Damping Ratio table columns refresh when accumulated joint inertia becomes available (after deferred
compute_joints_accumulated_inertia).Save Gains to Physics Layer targets
physics.usda/_physics.usdvia joint prim-stack lookup, nested sublayers, and the conventionalpayloads/Physics/physics.usdapath beside the root asset.JointDriveMode.MIMICis now3(was0, aliased toNONE) so mimic joints are distinct inlist(JointDriveMode).Oscillation harness deletes
/World/robotbefore each rebuild (avoids PhysX tensor views on deletedroot_joint), usesbase_mass=1.0so effective mass matches table math, and retriesGainTuner.setupuntil the articulation is bindable.project_inertia_onto_axis()logs acarb.log_warnwhen the joint rotation axis norm is below1e-9instead of silently returning0.0.Bulk edit preserves multi-selection; first column no longer collapses on small window sizes; stale test metrics cleared on new run; menu and
CreateUIExtension:Gain Tunershow and focus the panel instead of toggling visibility; visibility callback branches on thevisibleargument.
isaacsim.robot_setup.grasp_editor
Changed
Migrate extension implementation to the Core Experimental API.
Fixed
Fixed the silent failure of Skip Simulation → Export Grasp; export state is preserved across internal timeline stops and errors are surfaced in the UI.
Spelling corrections; user guide updated to use
object_frame/gripper_framefield names matching the actualisaac_graspschema written byDataWriter.Wrong shape on forces/torques being added into the RigidBody during simulation.
isaacsim.robot_setup.wizard
Deprecated
Extension deprecated and moved to
source/deprecated.
isaacsim.robot_setup.xrdf_editor
Changed
Migrate extension implementation to the Core Experimental API.
Decomposed the monolithic
extension.pyinto focused modules.Per-DOF arrays now size exactly to the selected articulation’s DOF count instead of using a fixed
MAX_DOF_NUM = 100buffer.UI is split into per-panel modules under
ui/(InfoPanel,SelectionPanel,JointPropertiesPanel,SphereEditorPanel,EditorToolsPanel).editor_state.pyprovides a UI-freeEditorStatedomain object that owns articulation data and high-level import/export operations.xrdf_io.pyandlula_io.pyexpose pure, UI-free read/write/merge helpers (write_xrdf_file,read_xrdf_file,is_valid_xrdf_file,merge_passthrough_dict,write_lula_robot_description_file,read_lula_robot_description_file).Replaced
sphere_generation.compute_link_frame_meshwithisaacsim.core.experimental.utils.xform.get_relative_transform; removed the localgf_quat_to_np_arrayhelper.
Fixed
Exported XRDF no longer contains mimic joints.
UIBuilder.on_stage_closedno longer references the stage and raises aValueError.
isaacsim.ros2.bridge
Removed
Removed the
omni.isaac.ml_archivedependency.
isaacsim.ros2.core
Added
wait_for_publishers_on_topicandwait_for_subscribers_on_topichelpers onROS2TestCasefor waiting on DDS endpoint discovery before asserting on message delivery. Uses a wall-clock timeout to handle platforms with no frame rate limiter; failure messages include the last-observed endpoint count.
Changed
Added
LibraryLoader.hinclude toRos2Types.hfor SRTX integration support.Camera info now reads OpenCV distortion coefficients from
OmniLensDistortionschemas (OmniLensDistortionOpenCvPinholeAPI,OmniLensDistortionOpenCvFisheyeAPI).Migrated
camera_info_utilsfrom deprecatedisaacsim.sensors.cameratoisaacsim.sensors.experimental.rtx.Removed deprecated
isaacsim.core.api,isaacsim.core.utils,isaacsim.sensors.camera,isaacsim.sensors.rtxdependencies; addedisaacsim.sensors.experimental.rtxandisaacsim.sensors.rtx.nodes.Removed legacy physical-distortion model support (
physicalDistortionModel,physicalDistortionCoefficients).Replaced
render_product_utils.pywithViewportManagerfromisaacsim.core.rendering_manager.Updated internal ROS 2 libraries to support the latest simulation-interfaces versions (v1.4.0 Humble, v1.5.0 Jazzy).
Fixed
Downgraded bundled Fast-RTPS from 2.6.11 to 2.6.10 in the Humble
nv_ros2linux packages to avoid an upstream regression in 2.6.11.read_camera_info()now applies the render-product resolution and scalesfx,fy,cx,cyaccordingly foropencvPinhole/opencvFisheyelens models, fixing staleCameraInfoafter retargeting.Fixed joint state publisher writing no position / velocity data when effort retrieval fails.
Fixed handling for fixed-size array types in
ROS2DynamicMessage.cppwhen the input array length differs from the expected size.Make
Ros2TestBaseuse the sourced distro so tests load the same backend the plugin already initialized.Raise an error if
/exts/omni.replicator.srtx/enabled=trueon non-Linux platforms.Added an explicit import of
_ros2_corebindings module for stubgen discoverability.
isaacsim.ros2.examples
Changed
Migrated to
isaacsim.core.experimental.utils,isaacsim.core.rendering_manager, andisaacsim.core.simulation_manager.MoveIt extension and standalone samples feed
ROS2PublishJointStatefrom a dedicatedIsaacReadJointStatenode and use itssensorTimefor the published timestamp.Replaced
PhysicsContextwithPhysicsScenefromisaacsim.core.simulation_manager.Replaced
set_camera_viewwithViewportManager.set_camera_view.
isaacsim.ros2.nodes
Added
SRTX publisher support for ROS 2 image, lidar point cloud, and laser scan topics. New C++ classes:
ImagePublisher,PointCloudPublisher,PublisherBase,SrtxPublisherFactory. SRTX support added inROS2CameraHelper,ROS2CameraInfoHelper, andROS2RtxLidarHelperOGN nodes.OgnROS2RtxRadarHelpernode for publishing RTX Radar data asPointCloud2.Optional multitick support: LaserScan and PointCloud2 messages are built from the
GenericModelOutputannotator directly, and RTX Lidar sensor inputs are assumed to be full frames.test_sim_clock_physics_stepvalidates ROS 2 clock publishing from anOnPhysicsStep-driven on-demand graph;test_joint_state_subscriber_with_name_overrideverifiesJointNameResolvercorrectly mapsisaac:nameOverridejoint names.Camera and camera-info tests using
isaacsim.sensors.experimental.rtx; multitick rendering test coverage for RTX sensor nodes.
Changed
Enabled multitick and removed the non-multitick code paths (including
build_rtx_sensor_pointcloud_writerand dynamically-generated writers, replaced by a single PointCloud writer based onisaacsim.sensors.experimental.nodes.IsaacExtractRtxSensorPointCloud).Migrated sensor nodes and tests to
isaacsim.sensors.experimental.physics3.0.0 andisaacsim.sensors.experimental.rtx; raycast sensor creation goes throughRaycastSensor.create()(the authoring class) directly.Migrated to
isaacsim.core.experimental.utils,isaacsim.core.experimental.objects,isaacsim.core.experimental.prims,isaacsim.core.rendering_manager, andisaacsim.core.simulation_manager.Query the active physics engine at runtime via
omni::physics::IPhysicsand pass it tocreateSimulationViewso ROS 2 tensor-backed nodes work with any registered engine.OgnROS2CameraHelper: renamed thecompressionTypeinput tosrtxCompressionType(and marked it hidden).Deprecated the
frameSkipCountandfullScaninputs in all helper nodes (OgnROS2CameraHelper,OgnROS2CameraInfoHelper,OgnROS2RtxLidarHelper); deprecation messages direct users to set the input to 0; runtime warning now fires once per node lifetime.OgnROS2PublishLaserScanlegacy array path synthesizes binary hit/miss intensities whenintensitiesDatais unconnected.Refactored
OgnROS2PublishPointCloudto use the sharedPublisherBase/PointCloudPublisherclasses.
Removed
OgnROS2PublishPointCloud: removed the unusedgmoDataPtr/gmoBufferSize/gmoMaxElementsinputs and thepublishFromGMOcode path; point cloud publishing always goes through the per-field pointer inputs populated byIsaacExtractRTXSensorPointCloud.
Fixed
Behavior change:
OgnROS2PublishPointCloudnow gates optional metadata fields (intensity, timestamp, emitter/channel/material/tick IDs, hit normal, velocity, object ID, echo ID, tick state, radial velocity) on the matchingoutput*boolean inputs in addition to the pointer being non-zero. Wiring a pointer throughIsaacExtractRTXSensorPointCloudno longer forces the field into the message; if you were driving the publisher’s pointer inputs directly without setting the matchingoutput*flag, you will need to set the flag.The SRTX sensor-set name used by
OgnROS2CameraHelperandOgnROS2RtxLidarHelperis overridable via/exts/omni.replicator.srtx/sensorSetName; previously both helpers hard-coded"default-sensor-set"and clobbered each other in Mega simulations.OgnROS2PublishJointStateno longer creates a tensor simulation view when publishing from connected joint-state inputs (the tensor view is created only for the deprecatedtargetPrimpath).OgnROS2RtxLidarHelper/OgnROS2RtxRadarHelper:showDebugViewnow setsdoTransform=Trueon the debug-draw writer whenoutputFrameOfReferenceis anything other thanWORLD(fixes inverted condition);OgnROS2RtxLidarHelper2D lidar (LaserScan) publishing no longer fails on the unsupportedmax_pointskey; drop the legacyCamera + IsaacRtxLidarSensorAPIbranch from validation (onlyOmniLidar + OmniSensorGenericLidarCoreAPIis accepted).OgnROS2RtxLidarHelperuses the newRtxSensorDebugDrawPointCloudwriter rather than the deprecatedRtxLidarDebugDrawPointCloudBuffer.Null checks for the simulation view in
OgnROS2PublishJointStateandOgnROS2PublishTransformTreeto prevent crashes when the physics backend initialization fails.OgnROS2CameraHelperuses.IsValid()instead ofis Noneto check render-product prim existence;OgnROS2PublishPointCloudusesdb.inputs.frameId()instead of its own uninitialized frame ID.OgnROS2PublishLaserScancallsgenerateBuffersbeforewriteDataso output buffers are correctly sized.Numerous DDS-discovery stabilizations and Windows flake fixes in subscriber-queue, transform-tree, laser-scan, and golden-image tests.
isaacsim.ros2.sim_control
Added
GetSpawnablesservice for discovering available USD assets for spawning (defaults to ROS assets under/Isaac/Samples/ROS2/Robots, excludes.thumbsthumbnails).SpawnEntitiesbatch spawning service.GetEntityBoundsservice for retrieving axis-aligned bounding boxes of scene entities.Shared
_resolve_source_pathhelper so bothGetSpawnablesandGetAvailableWorldsresolve Nucleus-relative paths from user-supplied sources.
Changed
Migrated to
isaacsim.core.experimental.utilsfor stage and prim operations; replaced directGetPrimAtPathcalls withprim_utils.get_prim_at_path; usebackend="fabric"for Fabric stage access.
Fixed
Missing service/action types now skip registration with a warning naming the type, instead of a generic error.
GetSimulatorFeaturesadvertises the subset of constants present in the installedsimulation_interfacesinstead of returning an empty list when a constant is missing.GetAvailableWorlds: user-providedadditional_sourcesare no longer mangled by Nucleus-relative resolution whenoffline_only=Trueon Windows.
isaacsim.ros2.tf_viewer
Changed
Added
isaacsim.core.experimental.utilsdependency; migrated test utilities tostage_utilsfromisaacsim.core.experimental.utils.
isaacsim.ros2.ui
Changed
Migrated to
isaacsim.core.experimental.utilsandisaacsim.core.rendering_manager; TF and Odometry builders use theIsaacComputeTransformTreenode.Replaced
DomeLightwithDistantLightin test scene setup.
Fixed
Fixed a
SIGSEGVintest_odometry_null_conditionsandtest_tf_null_conditionswhen empty prim fields are submitted;_check_paramsinRos2OdometryGraphandRos2TfPubGraphnow rejects empty required prims before graph creation.Ros2RtxLidarGraph._check_params: drop the legacyCamera + IsaacRtxLidarSensorAPIbranch from lidar-prim validation; onlyOmniLidar + OmniSensorGenericLidarCoreAPIis accepted.
isaacsim.ros2.urdf
Added
“Base Type” dropdown (Source / Fixed / Mobile) driving the tri-state
URDFImporterConfig.fix_basefield.Robot type dropdown in the UI.
Error message when a package cannot be resolved in the URDF.
Changed
Updated UI status language on failed / successful imports; updated the import path to use
isaacsim.gui.componentsUI utilities; tests preserve temp output on failure for debugging.
Deprecated
URDFImportFromROS2NodeKit command, in favor of usingRobotDefinitionReaderandURDFImporterdirectly.
Fixed
The intermediate URDF and (when no output folder is set) the USD are now written to a system temp directory.
Handled
RCLErrorwhen the ROS 2 context is shut down during a background service call inRobotDefinitionReader.
isaacsim.sensors.camera
Deprecated
Extension deprecated in favor of
isaacsim.sensors.experimental.rtx(updated deprecation warning andOverview.mdwere updated to point to...rtx, not...camera).
Fixed
Camera.get_dtreturns0.0(not-1.0) when the rendering frequency is unknown;Camera.set_dtaccepts valid sub-rendering-rate frequencies despite float-modulo precision.Fixed lens-distortion behavior:
set_lens_distortion_model("pinhole")only removes lens-distortion schemas instead of all applied schemas; case-sensitive"pinhole"substring check now matches"opencvPinhole"in four projection methods.set_fisheye_polynomial_propertiesno longer silently skips valid0.0values;set_kannala_brandt_propertieswarning message corrected.Log a warning when
Camera.set_frequency()/set_dt()falls back to “process all frames” because/app/runLoops/main/rateLimitFrequencyis unset.Raise a clear error when
Camera.attach_annotator()is called beforeCamera.initialize().CameraViewdocstring fix:instance_segmentation_fastandinstance_id_segmentation_fastruntime dtype isuint32(notint32).
isaacsim.sensors.camera.ui
Added
New depth- and 2D-camera vendors: Luxonis OAK4-D, OAK4-D Wide, OAK-D Pro PoE / Pro W PoE, OAK-D ToF; SICK Inspector83x, InspectorP61x, safeVisionary2, Visionary-T Mini.
Dependency on
isaacsim.core.experimental.utilsandisaacsim.sensors.experimental.rtxforSUPPORTED_CAMERA_CONFIGS/get_camera_metadata/RtxCamera/SingleViewDepthCameraSensor.
Changed
Menu actions load camera USDs via
RtxCamera.create()(experimental) instead of a raw Xform reference. Depth-sensor entries: every Camera in the loaded asset with a template render product carryingOmniSensorDepthSensorSingleViewAPIis wrapped withSingleViewDepthCameraSensor.The sensor list is now sourced from
isaacsim.sensors.experimental.rtx.SUPPORTED_CAMERA_CONFIGS(Extension.SENSORSis built at import time viaget_camera_metadata), so adding a new camera vendor/model is a one-place change. The legacyExtension.SENSORSshape is preserved for backward compatibility.Default
prim_prefixfor menu-created sensors is now derived from the USD file stem (hyphens and dots replaced by underscores), so menu-placed prim names change in some cases (for example/RealsenseD455→/rsd455,/Femto→/orbbec_femtomega_v1_0,/OAK4D→/oak4_d). Prim names that already matched the stem are unchanged.
Removed
Dependency on the deprecated
isaacsim.sensors.cameraextension. TheSingleViewDepthSensorAssetimport is replaced byRtxCamera.create()+SingleViewDepthCameraSensor.Implicit dependency on the deprecated
isaacsim.core.utils.stage(get_next_free_pathreplaced bygenerate_next_free_path;clear_stagereplaced bystage_utils.create_new_stage_async()in tests).
Fixed
Depth-sensor wrappers returned by
_wrap_depth_sensor_camerasare now stored inExtension._depth_sensorsinstead of being discarded, preventing a create/destroy cycle that corrupted the RTX pipeline and made asset materials invisible.
isaacsim.sensors.experimental.physics
Added
Raycast Sensor C++ implementation, Python bindings, backend, commands, and examples.
Changed
Aligned the
IMUSensor,ContactSensor, andRaycastSensorAPIs withisaacsim.sensors.experimental.rtx:Split authoring (
IMU/Contact/Raycast) from runtime; runtime constructors take a path or authoring instance;create()lives only on the authoring classes. ReplaceIMUSensor.create(path, ...)withIMUSensor(IMU.create(path, ...))(same forContactandRaycast).Constructors take keyword-only
positions/translations/orientations/scalesarrays ((N, 3)/(N, 4)wxyz) plusreset_xform_op_properties(defaultTrue), instead of singularGftypes. Constructor parameterprim_pathrenamed topath.Removed
*Backendclasses (ImuSensorBackend,ContactSensorBackend,RaycastSensorBackend,EffortSensorBackend,JointStateSensorBackend). The runtime sensors own the C++ Carbonite interface directly and expose bothget_data()(dict) andget_sensor_reading()(raw struct) — replaceXxxSensorBackend(path)withXxxSensor(path). Renamedget_current_frame()→get_data(). Removed theprim_pathproperty, the no-opinitialize()method, andContactSensor.{get,set}_min_threshold/_max_threshold/_radiusshims (usesensor.contact.<method>instead).Removed
__getattr__attribute forwarding from the runtime; go through the typedsensor.imu/sensor.contact/sensor.raycastaccessor forpaths,prims,set_visibilities,get_world_poses, etc.Multi-prim
path, conflictingpositions/translations, and wrapping an existing prim whose USD type does not match the sensor’s_PRIM_TYPEnow raiseValueError. Dropped the unusednameparameter.Internal sensor maps keyed by prim path (
std::string) instead of a monotonic counter;createSensor()returnsboolinstead ofint64andremoveSensor/getSensorReading/getRawContactstake a prim path.Bumped C++ Carbonite interface versions to 2.0 (
IImuSensor,IContactSensor,IEffortSensor,IJointStateSensor).Hardened the C++ runtime against prim deletion and recreation;
getSensorReading(and Contact’sgetRawContacts) invalidate the cached entry when the underlying USD prim has been removed. ThecreateSensorearly-out tears down the cached entry when the parent rigid body / articulation root no longer matches.Migrated ContactSensor and IMUSensor world-transform reads from
computeWorldXformNoCachetoIXformDataView(IPrimDataReader); port ContactSensor to use the IPrimDataReader contact API (enableContactReporting/getContactReport) instead of direct PhysX contact event subscription.Removed
commands_api.md; updatedapi.rstandOverview.mdto document the class-based creation API.
Fixed
ContactSensor.__init__parent validation walks up the hierarchy and accepts bothCollisionAPIandRigidBodyAPIancestors; no longer accessesself._primbefore assignment when applying threshold/radius overrides.Refresh IMU prim-data-reader initialization on read/step so IMU data is available after physics-only simulation steps.
Added
update()flush calls inEffortSensorImplandImuSensorImplbefore reading physics data; null guards for deferred prim-data-reader provider loading in_initializeStage.
isaacsim.sensors.experimental.rtx
New extension
isaacsim.sensors.physics
Deprecated
Extension deprecated in favor of
isaacsim.sensors.experimental.physics.
Fixed
Added
is_validtoIMUSensor.get_current_frame()output, plus the scalar-first(w, x, y, z)quaternion convention to theIMUSensor.get_current_framedocstring.ContactSensor.__init__no longer raisesUnboundLocalErrorwhen no PhysicsScene exists on stage; no longer usesint(1/frequency)(which truncates to 0 for sub-Hz frequencies); validatesself._body_prim_path(notprim_path) for the CollisionAPI check.EffortSensor.change_buffer_sizeno longer creates aliased object references vianp.resizeon an object-dtype array;EffortSensor.get_sensor_reading()fallback uses the newest valid buffered reading without mutating buffered state; no longer raisesZeroDivisionErrorwhenstep_sizeis 0 and timestamps are equal.
isaacsim.sensors.physics.examples
Added
Example for creating solid-state, rotating, and beam-curtain raycast sensors.
Changed
Beam-curtain raycast example derives the hit-count threshold from each sensor’s configured
max_rangeinstead of a hardcoded100.0.Migrated examples and tests to the
isaacsim.sensors.experimental.physics3.0.0 API: callIMU.create(),Contact.create(),Raycast.create()(the authoring classes) and wrap the returned authoring object with the runtime sensor for data reads.
Fixed
IMU example no longer raises
AttributeErrorwhen reading orientation; reads scalarorientation_w/x/y/zfields individually instead of indexing.
isaacsim.sensors.physics.nodes
Added
Isaac Read Raycast Sensor OmniGraph node.
Changed
Migrated OGN test fixture (
AntConfig) and OGN tests to theisaacsim.sensors.experimental.physics3.0.0 API.Updated OmniGraph nodes to use the prim-path-based sensor API instead of integer sensor IDs.
isaacsim.sensors.physics.ui
Added
Menu items for creating solid-state, rotating, and beam-curtain raycast sensors.
Changed
Migrated menu callbacks to the
isaacsim.sensors.experimental.physics3.0.0 API.
isaacsim.sensors.physx
Deprecated
Extension deprecated in favor of
isaacsim.sensors.experimental.physics.
Fixed
Update the rotating PhysX LiDAR during physics-only simulation steps and avoid double simulation on the next stage update.
isaacsim.sensors.physx.examples
Deprecated
Extension deprecated in favor of
isaacsim.sensors.physics.examples.
Fixed
Run
_plot_patternin a background thread to avoid blocking Kit’s main event loop.Fixed an
AttributeErrorinlidar_info.pywhen adding a translate op to the lidar prim.
isaacsim.sensors.physx.ui
Deprecated
Extension deprecated in favor of
isaacsim.sensors.physics.ui.
isaacsim.sensors.rtx
Added
Optional multitick support: when enabled, switches to nodes that consume
GenericModelOutputassuming it contains a full scan, eliminating lidar accumulation post-processing.WAR for
omni.replicator.core1.13.5: specify RTX Lidar and RadarauxOutputTypeas thechannelsattribute onGenericModelOutputRenderVar.IsaacSensorCreateRtxLidarvariantparameter acceptsdict[str, str]for USDs with multiple variant sets (for example the SICK familyProduct×Profile), matchingLidar.create()inisaacsim.sensors.experimental.rtx.
Changed
Multitick now enabled by default; scan accumulation controlled by
omni:sensor:Core:accumulateOutputson theOmniLidarprim.OmniLidaromni:Sensor:Core:accumulateOutputsdefaults toTrueandomni:sensor:Core:skipDroppingInvalidPointsdefaults toFalsewhen using the command.Moved
generic_model_output,sensor_checkerand supported lidar configurations to the experimental extension.Formally deprecated
outputNormalin favor ofoutputHitNormalinIsaacCreateRTXLidarScanBuffer.
Deprecated
Extension deprecated in favor of
isaacsim.sensors.experimental.rtx.
Removed
Removed the CUDA-based post-processing paths for lidar scan accumulation; multitick annotator tests replace non-multitick tests.
Fixed
Restored the deprecated
outputNormalinput onIsaacCreateRTXLidarScanBufferNewas an alias foroutputHitNormal, emitting a deprecation warning when used (5985827).IsaacCreateRTXLidarScanBuffer/...New: insufficientauxTypeon theOmniLidarprim now logs atERRORwith explicit remediation naming theomni:sensor:Core:auxOutputTypeUSD attribute and the level required for each output (5985774).Annotator tests correctly set RTX Radar output level to
BASICinstead ofFULL.
isaacsim.sensors.rtx.nodes
New extension
isaacsim.sensors.rtx.ui
Added
RTX Acoustic menu (
Create > Sensors > RTX Acoustic) with a generic NVIDIA entry; auto-populates per-vendor entries fromSUPPORTED_ACOUSTIC_CONFIGS.RTX Radar menu reorganized into vendor submenus driven by
SUPPORTED_RADAR_CONFIGS; Generic RTX Radar moved underNVIDIA; Texas Instruments IWRL6432AOP added.
Changed
Lidar / Radar / Acoustic menu actions pass a default variant from
SUPPORTED_*_CONFIGSso multi-variant-set USDs (for example SICKProduct×Profile) materialize a valid prim from a single click.Migrated Lidar creation from the
IsaacSensorCreateRtxLidarKit command toLidar.create()fromisaacsim.sensors.experimental.rtx; Radar creation fromIsaacSensorCreateRtxRadartoRadar().Replaced
isaacsim.core.utils.stagewithisaacsim.core.experimental.utils.stage; replacedisaacsim.sensors.rtxdependency withisaacsim.sensors.experimental.rtx.
isaacsim.simulation_app
Added
MinimalRenderingrenderer support inSimulationAppvia therendererlaunch-config option, plus aminimal_shading_modeoption that sets/rtx/minimal/modewhen using Minimal rendering.Optional multitick support: the loop runner resets simulation time to 0.0 on
SimulationApp.__init__.Emit telemetry event for app startup duration via
isaacsim.core.telemetry.
Changed
Added a forked watchdog process in
close()that sendsSIGKILLon timeout to prevent indefinite hangs from native-thread deadlocks.Atexit handler now calls
close(wait_for_replicator=False)to avoid hanging during interpreter shutdown.Unload plugins before
os._exit()in the fast_shutdown path to avoid glibc destructor deadlocks.
Removed
Removed direct telemetry calls from
SimulationAppstartup.Removed the optional multitick support; when multitick is enabled, time now routes through a Fabric prim via
SimulationManager.Removed the shutdown watchdog (no longer needed now that
close()avoids the deadlock-prone framework release path).
Fixed
Replaced
shutdown_and_release_framework()withapp.shutdown()inclose()to avoid a GIL deadlock where the main thread held the GIL whilecarb.taskingworker threads waited for it during plugin teardown (5948099).Replaced the deprecated
isaacsim.core.utils.carb.get_carb_settingimport with the directcarb.settingsAPI.SimulationApp.close()flushes Python stdout/stderr before shutdown paths that can terminate the process through fast shutdown.SimulationApp.close(exit_code=...)preserves nonzero script/test failure status when fast shutdown is enabled, removing the need for per-testos._exithooks.
isaacsim.storage.native
Added
Support overriding the default asset root via the
ISAACSIM_ASSET_ROOTenvironment variable.
Fixed
path_joinuses forward-slash concatenation for all URL schemes (not justomniverse://), fixing backslash-corrupted paths on Windows when the assets root is anhttps://URL.path_join../traversal usesrsplitinstead ofos.path.dirnameto avoid the same backslash issue; normalizes backslashes in relative path components to forward slashes; treats any URL-scheme path (includingfile://) as forward-slash on Windows.
isaacsim.streaming.rtsp
New extension
isaacsim.test.collection
Changed
Adapted rotation test helpers to the new
[roll, pitch, yaw]euler-angle input convention.Added a test for environment golden images.
Fixed
Improved Leatherback ROS 2 test reliability by using
ROS2TestCasehelpers and waiting for ROS publishers, subscribers, and camera data.Made Leatherback
test_camerasresilient to multitick rendering publisher-discovery latency.
isaacsim.test.docstring
Fixed
Catch
SystemExitduring doctest execution to prevent application shutdown from docstring examples that callsys.exit().Added
from __future__ import annotationsfor PEP 604 union type syntax.
isaacsim.test.utils
Added
New UI-automation modules:
button_utils(get_widget_screen_center,deferred_click,deferred_click_widget,discover_template_buttons),layout_utils(ensure_dock_height,ensure_window_visible,close_windows,reset_to_default_layout),stage_utils(poll_until,wait_for_prim,wait_for_stage_prims),usd_utils(compare_usd_files),viewport_utils(project_world_to_screen).Image capture helpers in
image_capture:capture_app_screenshot_async(full-application swapchain),capture_viewport_screenshot_async(viewport-only via replicator annotators), andcapture_frame_sequence_async(multi-frame sequences in app, viewport, or replicator modes).save_annotator_datainimage_ioto dispatch and save any annotator output (array, dict, or PNG).menu_utilsadditions:_poll_async,list_menu_paths,navigate_menu_visual,perform_widget_action.scroll_to_widgethelper (andMenuUITestCase.scroll_to_widget) for scrolling widgets off-screen into view.compare_articulation_propertiesfor pairwise comparison of articulation member values.isaacsim.core.experimental.primsandomni.kit.viewport.windowdependencies.
Changed
compare_images_in_directoriesprints the golden and test directory paths in its header and the full file paths on each failure.compare_usd_filesarticulation check now detects whether the asset usesNewtonArticulationRootAPIorPhysxArticulationRootAPIand tests attributes accordingly.
Fixed
menu_click_with_retrywaits for the requested menu path to resolve before clicking, absorbing the async menubar rebuild that ran after a prior test’s window destruction (fixes flakyui.Menu item failed to become show).
isaacsim.ucx.core
Added
Python bindings exposing
UCXListenerandUCXListenerRegistryviaisaacsim.ucx.core.
Fixed
Clear endpoint close callback during shutdown to prevent dangling pointer if external code holds stale endpoint references.
Explicitly request
cuda_copy,sm,self,tcpTLS so the CUDA transport is active for GPU buffer rendezvous sends; pre-loadlibucm_cuda.so.0withRTLD_GLOBALbeforeucxx::createContext()to make CUDA symbols available without requiringucx/inLD_LIBRARY_PATHat launch; setUCX_MODULE_DIRviadladdrso the UCS module loader findslibuct_cuda.so.0andlibucm_cuda.so.0.
isaacsim.ucx.nodes
Added
Camera streaming over UCX in
OgnUCXPublishImage/OgnUCXCameraHelper, controlled via thesendCudaBufferbool input. Whentrue, a metadata FlatBuffer is sent first followed by the raw CUDA buffer on the same UCX tag; the receiver pre-allocates a device buffer and posts atagRecvdirectly into it, avoiding any CPU copy when the transport supports it (GPU-direct RDMA, NVLink, CUDA IPC, or TCP with host staging). Whenfalse, pixel bytes are copied to host memory and embedded in a single FlatBuffer.Reads
cudaDeviceIndexfrom the input into theDLDevicemetadata for multi-GPU systems.Metadata + tensor sends are atomic at queue time: if the tensor send fails to queue, the metadata send is cancelled so the receiver does not desync.
FlatBuffers schemas and package dependency for UCX bridge message types.
get_image_pixel_data_sizehelper intests/common.pythat returns the expected pixel byte count from the Image FlatBuffer’sTensor.shape[0].
Changed
Removed
targetPriminput fromUCXPublishJointState; node now acceptsjointPositions/jointVelocities/jointEffortsarrays from upstream nodes (for example Isaac Read Articulation State).Removed
targetPriminput fromUCXPublishOdometry; direct data inputs are now the sole data source.Removed the unused
renderProductPathinput fromUCXPublishImage.UCX publish and subscribe nodes use the Isaac OS FlatBuffers wire format.
Enabled multitick; deprecated
frameSkipCountinUCXCameraHelper(deprecation message directs users to set the input to 0).
Fixed
Fixed a shutdown crash caused by an async send request outliving the UCX listener, triggering a close callback on a destroyed mutex.
OgnUCXCameraHelper:frameSkipCountis once again honored (publishStepSize = frameSkipCount + 1); in 1.5.1,publishStepSizewas hard-coded to1, silently ignoring any user-set value.test_camera.py:receive_image_messagenow performs the secondtag_recvrequired by the GPU-direct two-message protocol; added matchingstepandlen(image_data)asserts so the CPU-/GPU-direct pixel payload is actually verified.tests/common.py: addedcuda_copytoUCX_TLSso the GPU-direct recv has a CUDA memtype module.
isaacsim.util.camera_inspector
Changed
Migrate extension implementation to the Core Experimental API.
Removed
Remove the check for deprecated lidar schema on USD Camera prims.
omni.isaac.ml_archive
Changed
Update to PyTorch 2.11.0+cu128, torchaudio 2.11.0+cu128, torchvision 0.26.0+cu128, and updated dependencies.
Deprecated
Extension deprecated.
omni.kit.loop-isaac
Removed
Removed the
set_next_simulation_timeAPI andSWHExternalSimulationTimeevent parameter. Multitick simulation time is now communicated via the/ExternalSimulationTimeFabric prim instead.
omni.pip.cloud
Changed
Downgrade
boto3andbotocoreto 1.40.61; updatecryptographyto 46.0.7.
omni.usd.schema.newton
Changed
Updated
newton-usd-schemasto 0.2.0.
Isaac Sim ROS Workspaces Changelog Summary#
The Isaac Sim ROS Workspaces companion repository for Isaac Sim ROS Bridge has the following changes for Isaac Sim 6.0.0:
Note
🎉 We’re now open to external contributions! The community can help shape Isaac Sim ROS Workspaces. See the refreshed CONTRIBUTING.md for how to get involved — file issues, propose features, and open pull requests.
Added#
Pixi-managed Jazzy workspace:
jazzy_ws/pixi.toml,pixi.lock,README_PIXI.mdWindows dependency management via Pixi + RoboStack, including PyPI-basedisaacsiminstall support andtorchas a Pixi dependency.isaacsim_clearpath_nav2package (Humble + Jazzy): Nav2 integration for Clearpath robots, withdd100nav2/robot params, namespaced RViz config, launch file, and aclearpath_commondependency.Simulation interfaces package added to the workspace.
RTX radar RViz config (
rtx_radar.rviz) added toisaac_tutorialsfor radial-velocity visualization.Windows long-paths warning for Pixi on Windows.
Changed#
Renamed
isaacsim→isaacsim_bringupin both Humble and Jazzy workspaces, with updated descriptions, changelog, and Humble parity.Build type migration:
isaacsim,cmdvel_to_ackermann,h1_fullbody_controller, andisaac_moveitconverted fromament_cmaketoament_python. Scripts moved into Python module layouts (scripts/*.py→<pkg>/<pkg>/*.py), withsetup.py/setup.cfg/resource/markers replacingCMakeLists.txt.use_internal_libsdefault changed fromTruetoFalseon Jazzy (Python 3.12 sources ROS 2 from the system; Humble keepsTrue). Jazzy users relying on internal libs must passuse_internal_libs:=True.run_isaacsim.pydds_typeis now opt-in and defaults to empty, preserving the surroundingRMW_IMPLEMENTATION(e.g.rmw_zenoh_cppfrom Pixi activation); explicit values map tofastdds/cyclonedds/zenoh.run_isaacsim.pyinstall path falls back to theisaac_sim_package_pathenv var (set by Pixi activation) wheninstall_path:=is not provided.moveit_resourcesbumped to widenallowed_start_tolerance.topic_based_ros2_controlsubmodule bumped (includes a Windows crash fix).open_isaacsim_stage.pypath resolution usesget_package_share_directoryinstead of__file__.Optimized the MoveIt sample for Jazzy: added a local
panda_isaac.urdf.xacro(omitsPandaHandFakeSystem) and extendedgripper_to_isaac.pyto forward finger positions.Pixi environment setup,
clearpath_common, and pip dependency forh1_fullbody_controller.
Removed#
CMakeLists.txtfiles for the four migrated packages (isaacsim,cmdvel_to_ackermann,h1_fullbody_controller,isaac_moveit) in both workspaces, replaced by theament_pythonlayout.The old
topic_based_ros2_controldependency on Jazzy (now integrated intoros2_controlfor Jazzy onward).
Fixed#
Windows launch support for Isaac Sim:
run_isaacsimlauncher fix for Pixi/Windows.--execquoting on Windows (cmd.exe does not strip single quotes) so thegui:=USD path opens correctly.Replaced POSIX-only
start_new_session=Truewithcreationflags=CREATE_NEW_PROCESS_GROUPfor the Isaac Sim subprocess.use_internal_libs/ros_installation_pathnow exit non-zero with a clear error on Windows instead of silently exiting.Windows robot state publisher command fix.
isaac_moveit(Jazzy): malformed JointState warnings on/isaac_joint_commandsand the mimic-loop fault that destabilizedpanda_arm_controller.Launch-file fixes for Windows; scan-topic launch fix for local/global costmaps in navigation samples.
6.0.0 Early Developer Release#
Release Highlights#
General#
Updated to Kit 110.0
Support for 3D Gaussian Splatting with Fabric Scene Delegate integration, multi-GPU rendering, light interaction with mesh scenes, and MaterialX support.
CAD and DGN Converter enhancements with ACIS solid modeling support, BSplineSurface translation, and enhanced tessellation controls.
Nested rigid body physics with GPU acceleration, and significant RTX rendering improvements enhance both visual fidelity and simulation accuracy.
Expanded XR support, improved Scene Optimizer tools, and Fabric Scene Delegate performance enhancements.
Extend the integration/usage of the Core Experimental API into the source code.
New extensions based on the Core Experimental API with updated interfaces.
PhysX and Newton#
Experimental support for the Newton physics engine
Newton/MuJoCo-Warp solver can be used as a physics simulation backend.
isaacsim.core.experimental.primsAPIs can be used with both PhysX and Newton.
Synthetic Data Generation#
Perception Data Generation (Replicator)
Getting started example using various optimized randomizations using write to fabric (
enableWriteToFabric) and skip syncing with stage (wait_for_render).Useful snippet example using deformable assets with the Core Experimental API to generate synthetic data.
Action and Event Data Generation
AgentSim (isaacsim.replicator.agent): IRA introduces a character USD schema stored within USD files for cross-scene portability, and a config-driven method to spawn characters and issue character behaviors. IRA features a new UI for configuring agent simulations. IRA and scene captioning (IRC) now work together in a single pipeline, producing both annotated sensor data and VLM captions from one simulation run.
Object Simulation and Physics (isaacsim.replicator.object): IRO now supports randomization of physics attributes (mass, friction, restitution) across scene objects for domain-randomized synthetic data generation. New placement strategies (pyramid stacking, world/local-space force application) to enable a variety of physical scenes.
Incident Simulation (isaacsim.replicator.incident): Extended toppling events now apply to a broader set of objects. A new FlowUSD fire and smoke writer captures volumetric fire and smoke data from NVIDIA Flow alongside standard SDG outputs (RGB, depth, semantic segmentation).
Sensors (isaacsim.sensor.rtx.placement, isaacsim.sensor.rtx.calibration): Maximum coverage based camera placement now supports placement randomization. A new Omniverse-native API for sensor calibration provides direct access to camera intrinsics, extrinsics, and field-of-view coverage visualization.
Robots#
Isaac Sim URDF Importer 3.0: Exports to Asset Structure 3.0, multi-engine backend support with MuJoCo to PhysX conversion, Newton schema support, new UI and API, standalone Python interface, and joint tuning moved to gains tuner. New UI for ROS robot state based imports (
isaacsim.ros2.urdf).Isaac Sim MJCF Importer 3.0: Asset Structure 3.0, multi-engine backend support with URDF to MuJoCo and PhysX conversion, Newton schema support, new UI and API, standalone Python interface, and joint tuning moved to gains tuner.
Asset Structure 3.0: USDC (binary) for geometry; Material, Instances, Base, Physics defined in USDA (ascii) for easier version control and readability. Separated physics, MuJoCo, and PhysX definitions for different tuning values.
Asset Transformer: Rule-based USD tool for performing USD operations on assets. Comes with profile to convert robot assets to Asset Structure 3.0. Available rules include: generate robot schema, make schemas non-explicit, prim/schema/attribute routing, variant composition, geometry deduplication, shared materials between geometries.
Gains Tuner: Migrated to use
core.experimental.prims, enabling Newton backend.Robot Poser: Create robot named poses to change robot pose configuration, and manipulate robot based on a given link position on task space.
Robot Self Collision Detector: Visually detecting overlapping colliders in a robot.
Robot Inspector: Robot inspector window to enable viewing robot links and prims as flattened or nested. Interactively fix or disable robot joints for debugging.
Sensors#
Cameras and Depth Sensors:
isaacsim.sensors.cameradeprecated in favor ofisaacsim.sensors.experimental.camera. Camera sensor now uses_fastannotator variants for improved performance. Fixed tiled sensor data slicing.RTX Non-Visual Sensors: Added explicit RTX Radar support via new Annotator. RTX Sensor models now use Hydra time (
omni.timeline) for accurate simulation time tracking. Scan accumulation and post-processing moved to host by default, reducing GPU resource contention. Fixed point cloud “flickering” and broken scans when using RTX Lidar. New and updated standalone examples.Physics Sensors:
isaacsim.sensors.physicsdeprecated in favor ofisaacsim.sensors.experimental.physics. Added dedicated GPU codepath for IMU sensor using a separate CUDA stream and pinned memory buffer for improved performance.
ROS#
Architecture and Modularization: The monolithic
isaacsim.ros2.bridgeextension was split into focused extensions:isaacsim.ros2.core(core libraries and message backends),isaacsim.ros2.nodes(OmniGraph nodes),isaacsim.ros2.ui(UI components), andisaacsim.ros2.examples(sample code and demos).ROS 2 Jazzy: System level installations can now be sourced directly with Isaac Sim, enabled by full Python 3.12 support.
ROS 2 H.264 compressed RGB image support with hardware-accelerated encoding.
RTX Lidar metadata (e.g., intensity) can now be included in ROS 2 PointCloud2 messages.
Experimental support for any ROS 2 distribution built with Python 3.12.
Added
rclpyMultiThreadedExecutor-based async spinning to the ROS 2 test case base class.
Docker#
Added Docker Compose deployment for Isaac Sim + WebRTC web-viewer as a single stack.
Support for running multiple Isaac Sim instances in parallel on a single machine.
Full Docker container support for DGX Spark.
Live-streaming#
Added web-based livestreaming via WebRTC client accessible through Docker Compose.
Configurable signal port and stream port via environment variables.
Full DGX Spark livestreaming support.
Motion Generation#
New Experimental Motion Generation API: Includes new tools to easily populate and synchronize a planning scene to the USD stage with independent collision geometry representation. Includes a new controller composition framework that allows simple controllers to be combined to build more complex controllers.
New cuMotion Integration: Added full integration with NVIDIA’s cuMotion library, built on the new experimental motion generation API. Includes a centralized collision world state which can be passed to any collision-aware algorithm. Includes bindings to several trajectory and real-time planning algorithms, including minimal-time collision-aware trajectory planning with very flexible end-effector constraints.
SimReady Content#
Experimental search functions that extend the content browser with “Assets Search” mode: search SimReady Profiles, Features, natural language search, and tags.
A new curated collection of SimReady assets is available in the Content Browser, including robot models from FANUC. These assets have passed both USD validation and runtime tests for improved out-of-the-box reliability.
85 Fanuc Robots
1 Comau
1000 SimReady Props
Kit SDK Version#
Changed: 109.0.2 -> 110.0.0
Kit SDK Dependency Version Changes#
Added#
isaacsim.anim.robot.core: 1.2.2
isaacsim.anim.robot.schema: 0.1.0
omni.behavior.scripting.core: 110.0.4
omni.behavior.tree.core: 110.0.4
omni.behavior.tree.schema: 110.0.1
omni.kit.property.physics: 110.0.7
omni.metropolis.pipeline: 0.0.5
omni.metropolis.schema: 0.0.1
omni.physics.isaacsimready: 110.0.7
omni.physics.physx.ui: 110.0.7
omni.physics.ui: 110.0.7
omni.simready.configuration: 1.0.1
omni.simready.content.browser: 0.2.4
omni.simready.content.search: 1.0.5
omni.simready.paths: 0.1.0
Removed#
isaacsim.anim.robot: 1.0.3
omni.anim.behavior.asset: 109.0.6
omni.anim.behavior.bundle: 109.0.6
omni.anim.behavior.ui: 109.0.6
omni.behavior.composer: 0.5.4
omni.behavior.composer.schema: 0.4.0
omni.behavior.composer.ui: 0.5.2
omni.graph.io: 1.30.1
omni.kit.profiler.window: 2.3.7
omni.kit.property.physx: 109.0.10
omni.kit.scripting: 109.0.5
omni.kvdb: 109.0.10
omni.localcache: 109.0.10
omni.physx.telemetry: 109.0.10
omni.warp: 1.10.1
Changed#
isaacsim.replicator.agent.core: 1.0.12 -> 1.2.6
isaacsim.replicator.agent.schema: 0.0.1 -> 0.1.0
isaacsim.replicator.agent.ui: 1.0.8 -> 1.0.20
isaacsim.replicator.caption.core: 0.6.6 -> 0.7.5
isaacsim.replicator.incident.core: 0.11.2 -> 0.11.7
isaacsim.replicator.incident.ui: 0.6.0 -> 0.6.3
isaacsim.replicator.object.core: 0.11.3 -> 0.11.8
isaacsim.replicator.object.ui: 0.11.1 -> 0.11.3
isaacsim.sensors.rtx.calibration: 0.3.2 -> 0.3.9
isaacsim.sensors.rtx.placement: 0.16.4 -> 0.16.9
isaacsim.util.debug_draw: 3.2.0 -> 3.2.1
omni.ai.langchain.agent.chat_iro: 2.2.5 -> 2.2.8
omni.ai.langchain.core: 2.2.0 -> 2.2.5
omni.anim.asset: 109.0.6 -> 110.0.0
omni.anim.behavior.core: 109.0.7 -> 110.0.8
omni.anim.behavior.schema: 109.0.6 -> 110.0.1
omni.anim.curve.bundle: 1.3.0 -> 1.4.0
omni.anim.curve.core: 1.5.3 -> 1.6.0
omni.anim.curve.ui: 1.6.1 -> 1.7.0
omni.anim.curve_editor: 109.0.0 -> 110.0.0
omni.anim.graph.bundle: 109.0.6 -> 110.0.0
omni.anim.graph.core: 109.0.6 -> 110.0.3
omni.anim.graph.schema: 109.0.6 -> 110.0.0
omni.anim.graph.ui: 109.0.6 -> 110.0.1
omni.anim.navigation.bundle: 109.0.6 -> 110.0.0
omni.anim.navigation.core: 109.0.6 -> 110.0.3
omni.anim.navigation.schema: 109.0.6 -> 110.0.0
omni.anim.navigation.ui: 109.0.6 -> 110.0.2
omni.anim.retarget.bundle: 109.0.6 -> 110.0.0
omni.anim.retarget.core: 109.0.6 -> 110.0.3
omni.anim.retarget.preview: 109.0.6 -> 110.0.5
omni.anim.retarget.ui: 109.0.6 -> 110.0.1
omni.anim.shared.core: 109.0.2 -> 110.0.0
omni.anim.skelJoint: 109.0.6 -> 110.0.3
omni.anim.timeline: 109.0.1 -> 110.0.0
omni.anim.widget.timeline: 0.3.0 -> 0.4.0
omni.anim.window.timeline: 109.0.2 -> 110.0.0
omni.asset_validator.core: 1.9.2 -> 1.11.2
omni.asset_validator.ui: 1.9.2 -> 1.11.2
omni.convexdecomposition: 109.0.10 -> 110.0.7
omni.cuopt.examples: 1.3.2 -> 1.4.1
omni.cuopt.service: 1.3.1 -> 1.3.2
omni.cuopt.visualization: 1.3.2 -> 1.4.0
omni.curve.creator: 107.0.1 -> 110.0.0
omni.curve.manipulator: 108.2.0 -> 110.0.0
omni.flowusd: 109.0.2 -> 110.0.0
omni.genproc.core: 109.0.0 -> 110.0.0
omni.graph.action: 2.0.0 -> 2.10.2
omni.graph.action_nodes: 2.0.3 -> 2.10.2
omni.graph.action_nodes_core: 2.0.1 -> 2.10.2
omni.graph.bundle.action: 3.0.1 -> 3.10.2
omni.graph.examples.cpp: 2.0.1 -> 2.10.2
omni.graph.nodes: 2.1.6 -> 2.10.2
omni.graph.nodes_core: 2.0.3 -> 2.10.2
omni.graph.scriptnode: 2.1.2 -> 2.10.2
omni.graph.telemetry: 3.1.3 -> 3.10.2
omni.graph.ui: 2.1.6 -> 2.10.2
omni.graph.ui_nodes: 2.0.4 -> 2.10.5
omni.graph.window.action: 2.2.1 -> 2.10.2
omni.graph.window.core: 3.1.2 -> 3.10.2
omni.graph.window.generic: 2.2.1 -> 2.10.2
omni.kit.asset_converter: 5.0.25 -> 5.1.1
omni.kit.converter.cad: ~207.0 -> ~209.0
omni.kit.converter.common: 508.0.1 -> 510.0.0
omni.kit.converter.dgn: 509.3.1 -> 510.0.0
omni.kit.converter.dgn_core: 511.3.1 -> 512.0.0
omni.kit.converter.hoops: 509.2.4 -> 510.0.0
omni.kit.converter.hoops_core: 510.1.3 -> 511.0.0
omni.kit.converter.jt: 508.2.6 -> 509.0.0
omni.kit.converter.jt_core: 508.2.8 -> 509.0.0
omni.kit.environment.core: 1.4.1 -> 1.4.2
omni.kit.livestream.app: 9.0.0 -> 10.1.0
omni.kit.livestream.core: 9.0.0 -> 10.0.0
omni.kit.livestream.webrtc: 9.0.2 -> 10.1.2
omni.kit.mesh.raycast: 108.0.0 -> 110.0.0
omni.kit.pointclouds: 1.6.6 -> 1.6.7
omni.kit.preferences.animation: 1.4.0 -> 1.5.0
omni.kit.profiler.tracy: 1.2.0 -> 1.2.1
omni.kit.sequencer.core: 108.1.1 -> 110.0.0
omni.kit.sequencer.usd: 108.1.1 -> 110.0.0
omni.kit.stagerecorder.bundle: 109.0.0 -> 110.0.0
omni.kit.stagerecorder.core: 109.0.0 -> 110.0.2
omni.kit.stagerecorder.ui: 109.0.0 -> 110.0.0
omni.kit.timeline.minibar: 1.2.13 -> 1.2.14
omni.kit.tool.measure: 200.0.4 -> 200.0.7
omni.kit.variant.editor: 107.5.6 -> 107.5.8
omni.kit.variant.presenter: 107.1.2 -> 107.1.3
omni.kit.waypoint.core: 1.6.3 -> 1.6.4
omni.kit.window.material_graph: 1.9.5 -> 1.9.6
omni.kit.window.section: 107.1.3 -> 107.1.4
omni.mesh_tools.libs: 109.0.8 -> 110.0.1
omni.metropolis.utils: 0.14.7 -> 1.0.5
omni.physics: 109.0.10 -> 110.0.7
omni.physics.physx: 109.0.10 -> 110.0.7
omni.physics.stageupdate: 109.0.10 -> 110.0.7
omni.physics.tensors: 109.0.10 -> 110.0.7
omni.physx: 109.0.10 -> 110.0.7
omni.physx.asset_validator: 109.0.10 -> 110.0.7
omni.physx.bundle: 109.0.10 -> 110.0.7
omni.physx.camera: 109.0.10 -> 110.0.7
omni.physx.cct: 109.0.10 -> 110.0.7
omni.physx.commands: 109.0.10 -> 110.0.7
omni.physx.cooking: 109.0.10 -> 110.0.7
omni.physx.demos: 109.0.10 -> 110.0.7
omni.physx.fabric: 109.0.10 -> 110.0.7
omni.physx.foundation: 109.0.10 -> 110.0.7
omni.physx.graph: 109.0.10 -> 110.0.7
omni.physx.pvd: 109.0.10 -> 110.0.7
omni.physx.supportui: 109.0.10 -> 110.0.7
omni.physx.tensors: 109.0.10 -> 110.0.7
omni.physx.tests: 109.0.10 -> 110.0.7
omni.physx.tests.visual: 109.0.10 -> 110.0.7
omni.physx.ui: 109.0.10 -> 110.0.7
omni.physx.vehicle: 109.0.10 -> 110.0.7
omni.ramp: 107.0.2 -> 110.0.0
omni.replicator.core: 1.12.34 -> 1.13.4
omni.replicator.nv: 1.0.0 -> 1.1.0
omni.replicator.replicator_yaml: 2.0.11 -> 2.0.12
omni.scene.optimizer.analysis: 109.0.2 -> 110.0.4
omni.scene.optimizer.bundle: 109.0.2 -> 110.0.4
omni.scene.optimizer.core: 109.0.2 -> 110.0.4
omni.scene.optimizer.ui: 109.0.2 -> 110.0.4
omni.scene.optimizer.validators: 109.0.2 -> 110.0.4
omni.scene.visualization.core: 109.0.1 -> 110.0.0
omni.services.convert.asset: 509.0.0 -> 510.0.0
omni.services.convert.cad: 507.1.5 -> 508.0.0
omni.services.pip_archive: 0.18.3 -> 0.18.6
omni.usd.metrics.assembler: 109.0.0 -> 110.0.0
omni.usd.metrics.assembler.physics: 109.0.10 -> 110.0.7
omni.usd.metrics.assembler.ui: 109.0.0 -> 110.0.0
omni.usd.schema.flow: 109.0.1 -> 110.0.0
omni.usd.schema.metrics.assembler: 109.0.0 -> 110.0.0
omni.usd.schema.physx: 109.0.10 -> 110.0.7
omni.usd.schema.sequence: 3.1.2 -> 3.2.0
omni.usdex.libs: 2.1.2 -> 2.2.1
omni.usdphysics: 109.0.10 -> 110.0.7
omni.usdphysics.ui: 109.0.10 -> 110.0.7
omni.warp.core: 1.10.1 -> 1.12.0
Extensions Changelog Summary#
Please refer to the individual extension changelogs for more detailed information.
Common updates across many extensions include refreshed Overview.md, python_api.md, SETTINGS.md, and docstrings.
Several extensions were modernized for Events 2.0, deprecated callback/API replacements, and current Warp/core API usage.
Shared UI/menu cleanup also landed across multiple extensions, including menu action and content browser integration updates.
isaacsim.app.setup
Changed
Add logging to await_viewport to help debug viewport handle not being available
Add missing dependency for Robot Hierarchy window
Added dock info for Robot Hierarchy window
Refactor enable_ros_extensions to properly wait for viewport to be ready before enabling ROS2 extensions
Restructured extension into modular components
Fixed
Rename “Robot Hierarchy” window to “Robot Inspector” in default and sdg layouts
isaacsim.asset.exporter.urdf
Changed
Add explicit omni.physics.physx dependency
isaacsim.asset.gen.omap.ui
Added
Save YAML button in the visualization window to save the ROS occupancy map parameters file directly, alongside the existing Save Image button
Image File Name field in the visualization window to set the image filename used in the YAML; defaults to the stage name
Update YAML button to rebuild the YAML content with the new filename without regenerating the image
Save Image dialog now pre-fills the filename from the Image File Name field
Changed
Added dock info for Robot Hierarchy window
isaacsim.asset.importer.heightmap
Changed
Add isaacsim.core.experimental.objects dependency, remove omni.physics.physx dependency for groundplane creation
isaacsim.asset.importer.mjcf
Changed
Added scene import option for the MJCF importer
MJCF converter version bump to 0.1.0a8
Added mjc / newton to physx attribute conversion for multi-physics engine asset support
Changed dep from pip prebundle to isaacsim.pip.newton
Switched to lazy import for mjcf-usd-converter to fix docs build issue
USD exchange backend
New import format
New UI design and interface
isaacsim.asset.importer.urdf
Removed
Removed UI elements from the URDF importer, moved to isaacsim.asset.importer.urdf.ui extension
Changed
update urdf-usd-converter to v0.1.0
urdf converter version bump to v0.1.0rc2
Added mjc / newton to physx attribute conversion for multi-physics engine asset support
USD exchange based backend
Unified UI
Asset structure 3
Fixed
Updated configuring of mimic joints to be processed after all joints are created to avoid issues with lexicographical order of siblings
isaacsim.asset.validation
Changed
Updated physics_rules to use new omni.physics.core API (IPhysicsSimulation.initialize/close replaces removed attach_stage/detach_stage)
isaacsim.benchmark.services
Added
Public API properties for frametime recorders: sample_count and samples for direct recorder access
Decorator-based plug-in system for recorders using @MeasurementDataRecorderRegistry.register()
DEFAULT_RECORDERS constant exported for customization in benchmark scripts
Process-specific CPU tracking
Main thread CPU tracking via single-core usage metrics (Mean/Min/Max)
Support for selecting recorders via recorders list passed into BaseIsaacBenchmark instance
Added “Num App Updates” metric to report the number of app update events per phase
Removed
Legacy collector classes (IsaacUpdateFrametimeCollector)
Wrapper layer between collectors and recorders
Unused profiling, settings, and execution modules
Removed support for passing in gpu_frametime=True into BaseIsaacBenchmark instance
Changed
Merged BaseIsaacBenchmark and BaseIsaacBenchmarkAsync into unified core with shared logic
Refactored data architecture: eliminated collector layer, one recorder per metric
Report formatting: metrics ordered by category (Performance, Custom, Memory, CPU table, Frametime table)
Recorder lifecycle: stop/collect from recorders that were started in a given phase
Fixed
Fixed validation tooling to correctly build the render product map
isaacsim.code_editor.vscode
Fixed
Hardened subprocess call to avoid shell=True with string concatenation
isaacsim.core.api
Removed
Remove deprecated PhysX residual reporting APIs (enable_residual_reporting, get_solver_velocity_residual, get_solver_position_residual) from PhysicsContext.
Fixed
Fix issues with incorrect API usage in ArticulationSubset
isaacsim.core.deprecation_manager
Changed
Remove deprecated asset browser settings
isaacsim.core.experimental.objects
Added
Add USD Camera
Add the colors parameter to shape classes to set display colors
isaacsim.core.experimental.prims
Added
getDofNames() and getDofTypes() on IArticulationDataView for articulation DOF metadata (names and types in articulation order)
setArticulationDofMetadata() on IPrimDataReader for Newton backend to supply DOF names and types from Python
XformPrim now creates FabricHierarchyLocalMatrix and FabricHierarchyWorldMatrix if they don’t exist.
Add Newton physics engine support for articulations and rigid bodies
Add contact tracking functionality to RigidPrim: set_enabled_contact_tracking(), get_enabled_contact_tracking(), get_net_contact_forces(), get_contact_force_matrix(), get_contact_force_data(), get_friction_data()
Removed
Remove deprecated PhysX residual reporting APIs (enable_residual_reports, get_solver_residual_reports) from Articulation
Changed
Add C++ interface to read xform, rigid body and articulation data
Slight modification to show how a new physics engine can be added in the future
Fixed
Fixed Warp 1.12 compatibility for deformable prims (wp.mat33 row-vector constructor replaced with wp.matrix_from_rows)
Only return values for DOFs that have applied the PhysxDrivePerformanceEnvelopeAPI when querying drive model properties
isaacsim.core.experimental.utils
Added
Add get_prim_attribute_names() to prim utils for listing authored attribute names
Add get_prim_attribute_value() to prim utils for getting attribute values
Add quaternion_to_euler_angles() function to transform utils for converting quaternions to euler angles
Add parse_device() function to ops utils for parsing Warp device specifications
Add ensure_api() function to prim utils for ensuring API schemas are applied to prims
Fixed
Fix NaN issue in euler to quaternion conversion utils
Fix inconsistency in euler to quaternion conversion utils
isaacsim.core.includes
Added
Add Defines.h header with ISAACSIM_EXPORT and ISAACSIM_IMPORT macros for DLL visibility
Changed
Optimize GenericBuffer to re-use memory without allocation if requested size fits within existing capacity.
isaacsim.core.nodes
Added
IsaacAttachHydraTexture node allows user to add HydraTextures and RenderVars on demand to RenderProduct prims already in the stage
Changed
Migrate Odometry and joint name resolved nodes to use core experimental prims APIs
isaacsim.core.prims
Removed
Remove deprecated PhysX residual reporting APIs (enable_residual_reports, get_position_residuals, get_velocity_residuals) from Articulation and SingleArticulation.
Fixed
Fixed missing argument context in _reset_fabric_selection method.
Fixed incorrect method call set_wind to set_winds in ParticleSystem constructor.
Fixed incorrect attribute name solverPositionIteration to solverPositionIterationCount in ParticleSystem.get_solver_position_iteration_counts.
isaacsim.core.rendering_manager
Changed
Move import of kit loop runner to a try-except block to handle import exceptions if omni.kit.loop-isaac is not enabled
isaacsim.core.simulation_manager
Added
Add Newton physics engine support with switch_physics_engine() method
Add NewtonMjcScene and NewtonXpbdScene classes for Newton solver-specific scene configuration
Add PhysicsScene base class for common physics scene operations
When /rtx/hydra/supportMultiTickRate is enabled, simulation time is propagated to the run loop
Add cleanupInvalidPhysicsScenes() method to C++ ISimulationManager interface to remove tracked physics scenes with invalid prims
Add isValid() method to C++ PhysicsScene class to check if the underlying prim is still valid
Add Python binding for cleanup_invalid_physics_scenes() method
Add supporting APIs for changing physics engines through the omniphysics interfaces
Add PhysicsScene and PhysxScene Python class wrappers for high-level physics scene manipulation
Add PhysicsScene C++ class and header for USD Physics Scene prim operations
Add get_physics_scene_paths() function to get all physics scene paths in a stage
Changed
Replaced omni.physx start_simulation with omni.physics start_simulation
Replaced omni.physx simulation event stream with omni.physics simulation event stream
Change log level of no adjacent samples found for interpolation warning to INFO
Fixed
Rebuild with new physics package
Fix RuntimeError: Accessed invalid expired ‘PhysicsScene’ prim error when physics scene prims become invalid without triggering USD notices (e.g., layer removal operations, session sublayer changes)
Add stage and root layer validation in _on_play() to prevent physics initialization on expired/invalid stages
Add error handling in _create_physics_scene() to gracefully handle physics scene creation failures
isaacsim.core.utils
Changed
Fix quaternion order issue in torch transformation utils
isaacsim.examples.base
Changed
Replaced timeline API with app utils for simulation control
Add functionality to allow setting rendering_dt.
isaacsim.examples.extension
Changed
Add ticked=True to Extension Generator menu item
isaacsim.examples.interactive
Changed
Experimental API alignment: app_utils for timeline control, SimulationEvent for physics callbacks.
Replaced timeline API with app utils for simulation control.
Converted Robo Party to Experimental APIs.
The Getting Started, Replay Follow Target, Robo Factory, and Surface Gripper examples now depend on the new Warp-based APIs
Simplified bin filling example to improve stability, replaced dropped parts with dropped cubes
isaacsim.gui.components
Added
Add menu.create_submenu to recursively build MenuItemDescription lists from dicts describing submenus
Changed
Remove unused dependencies
Add menu.open_content_browser_to_path to open the Content Browser to a specific path
Fixed
Hardened subprocess calls to avoid shell=True with string concatenation
Fixed incorrect type annotation for SearchWidget
isaacsim.gui.content_browser
Added
New omni.simready.content.browser extension for Simready asset search
Changed
Update omni.simready.content.browser settings
Add SimReady folder
Update assets path to 6.0 staging
Update assets path to development
isaacsim.gui.menu
Added
Robot Self-Collision Detector to Tools > Asset Editors menu
Removed
Removed Warp Sample Scenes menu item from Help menu (omni.warp dependency removed)
Changed
Add ticked=True to Asset Check menu item
Remove Asset Browser from menu and context menu
Use menu.open_content_browser_to_path to open the Content Browser to a specific path as a replacement
Add Utility menu item to check Isaac Sim assets root path
Fix broken Isaac Sim documentation links
isaacsim.gui.property
Added
Introduced widget for applying IsaacSiteAPI to Xformable prims
Introduced new widget for setting the IsaacMotionPlanningAPI collisionEnabled attribute
Fixed
Fixed incorrect type annotation (List to list)
isaacsim.replicator.behavior
Changed
Migrated behavior scripting dependency from omni.kit.scripting to omni.behavior.scripting.core
Updated SDG physics based volume filling behavior script to use the omni.physx api
isaacsim.replicator.examples
Changed
Synched snippets with docs, typos and print statements fixes
Augmentation examples use basic empty stage (dome light + ground plane) by default, with optional env_url for custom stages
isaacsim.replicator.mobility_gen
Added
Support loading usdz asset
isaacsim.replicator.mobility_gen.examples
Changed
Change occupancy map radius for Carter Robot
isaacsim.replicator.mobility_gen.ui
Added
Support loading usdz asset
isaacsim.replicator.synthetic_recorder
Changed
Updated UI to use width and height for checkboxes to fix click issues
isaacsim.replicator.writers
Changed
Added pinholeOpenCV and fisheyePolynomial projection support to pose writer
Moved DOPE utils to DOPEWriter class
isaacsim.robot.manipulators.examples
Added
UR (Universal Robots) stacking example
A simplified stacking class based on core_experimental (NVIDIA Warp APIs)
Changed
Experimental API alignment: app_utils for timeline control and SimulationEvent for physics callbacks in follow-target and pick-place examples.
Supported multiple Franka robots for pick and place task
Updated the folder structure of the extension
Simplify bin filling example and improve stability, example cubes instead of various parts
isaacsim.robot.schema
Added
KinematicChain class for building and caching joint chains between arbitrary start/end prims on a robot
Forward Kinematics computation (compute_fk) with per-joint intermediate transforms
Fused FK + spatial Jacobian computation (compute_fk_and_jacobian) in a single pass
IKSolver abstract interface and IKSolverRegistry for pluggable IK solver implementations
Levenberg-Marquardt IK solver (IKSolverLM) registered as the default solver, with adaptive damping, null-space bias toward joint centers, step clamping, and joint-limit clipping
pose_error function computing 6-DOF orientation + position error between two transforms
Math module (math.py): Transform (SE(3) composition and inversion), Joint (screw-axis exponential map for revolute and prismatic joints), quaternion operations (quat_mul, quat_conj, quat_rotate, axis_angle_to_quat, quat_to_matrix), skew, and adjoint
Teleport functionality on KinematicChain: teleport propagates FK through the kinematic tree and writes USD body transforms; teleport_anchored applies joints while keeping a specified link fixed via rigid correction
Zero-configuration pose computation (_compute_zero_config_poses) using static joint local frames
Joint chain path finding via LCA algorithm (_collect_chain_joints) returning ordered joints with forward/backward traversal direction
Named pose query utilities: GetAllNamedPoses, GetNamedPoseStartLink, GetNamedPoseEndLink, GetNamedPoseJoints, GetNamedPoseJointValues, GetNamedPoseJointFixed, GetNamedPoseValid
CreateNamedPose for creating IsaacNamedPose prims with relationships and attributes
Loop detection in articulation traversal (_discover_articulation_prims, PopulateRobotSchemaFromArticulation, RecalculateRobotSchema) using visited-set guards to prevent infinite loops in cyclic joint graphs
DetectAndApplySites and AddSitesToRobotLinks for automatic site detection on link child Xforms and registration in the robot schema
ApplySiteAPI function; ApplyReferencePointAPI deprecated and redirected to ApplySiteAPI
ValidateRobotSchemaRelationships returning valid/invalid link and joint lists
RecalculateRobotSchema that preserves existing relationship order while appending newly discovered items and removing invalid ones
RebuildRelationshipAsPrepend and EnsurePrependListForRobotRelationships for proper USD layering of robot relationships
Schema diagram generation script
Loop detector on parsing of joints
Missing SiteAPI functions
Verify if all found links and joints are added to the schema
Detect and Create SiteAPIs when applying robot schema
Update Robot Schema relationships with missing links and joints
Changed
UpdateDeprecatedSchemas migrates ReferencePointAPI to SiteAPI and deprecated DOF offset attributes to DofOffsetOpOrder token array
UpdateDeprecatedJointDofOrder collects deprecated per-axis attributes, builds token array, and removes old attributes
Updated deprecated schema checker and fixer
isaacsim.robot.wheeled_robots
Changed
Update to new osqp version and fix OSQP.setup() positional argument issue
isaacsim.robot_motion.lula
Changed
Updated Overview.md with note about newer cumotion extension.
isaacsim.robot_motion.motion_generation
Changed
Updated Overview.md with note about newer experimental motion generation API.
Updated path_planner_visualizer.py docstring to clarify it only does interpolation.
isaacsim.robot_motion.motion_generation.tutorials
Changed
Update license headers
isaacsim.robot_setup.gain_tuner
Changed
Migrate mass property queries from PhysX property query interface to Articulation tensor API (isaacsim.core.experimental.prims.Articulation).
Remove omni.physics.physx dependency; mass, COM, and inertia are now queried via get_link_masses(), get_link_coms(), and get_link_inertias().
Fixed
Fixed incorrect type annotations
Fix Vec3f/Vec3d type mismatch in inertia accumulation caused by robot schema double-precision change
isaacsim.robot_setup.xrdf_editor
Added
Can load and export XRDF version 2.0
Fixed
Removed incorrect type annotation for SimulationContext
isaacsim.ros2.core
Added
CompressedImage message backend
Added ros2 image buffer utils
Changed
Removed hardcoded ROS 2 distribution checks. Added experimental support for any ROS 2 distribution beyond Jazzy to be sourced and used with Isaac Sim.
Fixed ROS 2 service request polling so takeRequest() can receive a pending request on its first poll call.
Removed isaacsim.sensors.experimental.physics dependency
Set publish_with_queue_thread extension setting to true
Added a simulate_until_condition method
Fixed
Hardened subprocess call to avoid shell=True with string concatenation
isaacsim.ros2.examples
Changed
Update waypoint follower action graph to use ReadPrimLocalTransform node
isaacsim.ros2.nodes
Added
ROS 2 H.264 Compressed Image support with H.264 RGB handling
omni.replicator.nv extension automatically enabled by omni.replicator.core and implictily used for HW H.264 encoding
Removed
Moved test_menu_graphs to isaacsim.ros2.ui
Replaced fields_to_dtype with sensors_msgs_py.point_cloud2.read_points where applicable
Changed
ROS2PublishJointState node now publishes from sensor inputs (e.g. IsaacReadJointState) for joint state data
Shifted RTX sensor scan accumulation and post-processing back to host by default to reduce GPU resource contention and improve frametime & frametime consistency. Post-processing-on-device still available as option by setting app.sensors.nv.[modality].outputBufferOnGPU=true.
Converted OgnROS2QoSProfile node from Python to C++ for improved performance and consistency with other C++ OG nodes
Add missing dependency for isaacsim.sensors.physics.nodes
Update isaacsim.sensors.physics dependency to isaacsim.sensors.experimental.physics
Update waypoint follower action graph to use ReadPrimLocalTransform node
Fixed
Fix eFloat and eUnknown cases in writeNodeAttributeFromMessage incorrectly hardcoding “outputs:” prefix instead of using inputOutput(isOutput) and prependStr
isaacsim.ros2.ui
Added
Added PointCloud2 metadata options to RTX Lidar OG tool
Added test_menu_graphs
Changed
Migrated test_menu_graphs imports to use experimental prims and stage utilities (XformPrim, define_prim, add_reference_to_stage)
Fixed articulation root path in test_joint_states_data_flow and test_odometry_data_flow to use chassis_link
Fixed SimpleCheckBox widget path for “Publish Robot’s TF?” in test_odometry_data_flow
Remove Asset Browser from menu
Use menu.open_content_browser_to_path to open the Content Browser to a specific path as a replacement
isaacsim.ros2.urdf
Changed
Updated isaacssim.ros2.urdf to use URDF importer 3.x
Make isaacsim.asset.importer.urdf.ui a dependency since this extension heavily depends on and modifies the default urdf importer ui
isaacsim.sensors.camera
Changed
omni:rtx:post:depthSensor:outlierRemovalEnabled is now a bool
Camera sensor: switched to use “_fast” version of the annotators where available (“bounding_box_2d_tight_fast”, “bounding_box_2d_loose_fast”, “instance_segmentation_fast”, “instance_id_segmentation_fast”)
Fixed
TestSingleViewDepthSensor.test_getter_setter_methods uses correct initial value for confidenceThreshold.
Cleanup annotators and state properly when the camera is destroyed
Fixed camera_view.get_data() resolution order issue (height, width) -> (width, height)
isaacsim.sensors.camera.ui
Fixed
Registered proper actions for all camera and depth sensor creation menu items
isaacsim.sensors.experimental.physics
Added
Add joint state sensor that reads all DOF positions, velocities, and efforts per articulation
Changed
Rewrite sensor implementations to use C++ core experimental prims APIs
IMU and Contact sensor creation commands renamed to include Experimental in their name to avoid name collision with deprecated sensor commands
Rebuilt physics sensors on core experimental APIs with Python-first implementations
Added Python backends for contact and IMU sensors plus legacy interface shims for compatibility
Added new command-based prim creation for sensors and OmniGraph nodes
Removed sensor period and frequency parameters, all sensors use the physics frequency by default
isaacsim.sensors.physics
Changed
Deprecated this extension in favor of isaacsim.sensors.experimental.physics extension
Moved omnigraph nodes from this extension to isaacsim.sensors.nodes extension. The nodes use the new api from isaacsim.sensors.experimental.physics extension.
Fixed
Fix crash issue when IPhysxSimulation interface is not available
isaacsim.sensors.physics.examples
Added
Updated to use interfaces from isaacsim.sensors.experimental.physics extension
Updated contact and IMU examples to use the new sensor command APIs and legacy Python interfaces
Improved example UI lifecycle handling with typed callbacks, stage-close cleanup, and richer docstrings
Changed
IMU and Contact sensor creation commands renamed to include Experimental in their name to avoid name collision with deprecated sensor commands
isaacsim.sensors.physics.ui
Added
Updated to use interfaces from isaacsim.sensors.experimental.physics extension
Updated menu actions to use new sensor creation commands and experimental prim helpers
Improved context menu handling and visibility control for created sensor prims
Changed
IMU and Contact sensor creation commands renamed to include Experimental in their name to avoid name collision with deprecated sensor commands
Fixed
Registered proper actions for Contact Sensor and IMU Sensor creation menu items
isaacsim.sensors.physx.ui
Fixed
Registered proper actions for PhysX Lidar and LightBeam sensor creation menu items
isaacsim.sensors.rtx
Added
Use Hydra time (omni.timeline) in RTX Sensor models
Removed
Tools for manipulating deprecated JSONs
Changed
Shifted RTX sensor scan accumulation and post-processing back to host by default to reduce GPU resource contention and improve frametime & frametime consistency. Post-processing-on-device still available as option by setting app.sensors.nv.[modality].outputBufferOnGPU=true.
IsaacSensorCreateRtxSensor commands accept usd_path argument to enable adding arbitrary RTX Sensor USDs to the stage
IsaacSensorCreateRtxRadar command validates if user has enabled Motion BVH before creating prim
Fixed
Fixed occasional segfault when running with many lidars doing full-scan processing at the same time by copying GenericModelOutput buffers into local copies rather than manipulating AOV
IsaacCreateRTXLidarScanBuffer.transform output no longer resets frame-to-frame
Only reset outputs in IsaacCreateRTXLidarScanBuffer if enablePerFrameOutput == True, preventing output “flickering”
Prevent USD path warnings when using IsaacSensorCreateRtxSensor commands
isaacsim.sensors.rtx.ui
Fixed
Registered proper actions for all RTX Lidar and RTX Radar sensor creation menu items
isaacsim.simulation_app
Added
Added separate default render settings for PathTracing and RealTimePathTracing modes
Changed
Automatically close the application during interpreter shutdown if close() was not called
Close stage in simulation app close() method to avoid errors
Update error message when application fails to start and exit before proceeding to make debugging easier.
Fix issue where simulation app close() method would hang if the app was already stopped
Skip explicit stage close in simulation app close() method to avoid crashes
is_running method does not require an active USD stage
Use close_stage_async method when closing stage to avoid blocking the main thread if available
Simulation app close() method now waits for replicator workflows to complete even when using replicator step()
isaacsim.storage.native
Changed
Update assets path to 6.0 staging
Add retry attempts and retry base delay settings for asset root connectivity checks
Update assets path to development
isaacsim.test.collection
Changed
Exclude NumPy module reload errors
Update dependencies to use new experimental extensions
isaacsim.test.utils
Added
Move find_widget_with_retry from MenuUITestCase to menu_utils as a standalone function
Add find_enabled_widget_with_retry to poll for a widget that is both found and enabled
Add wait_for_widget_enabled to poll until an already-found widget becomes enabled
Add new utility functions (get_all_menu_paths, count_menu_items) and MenuUITestCase base class for menu UI tests.
Changed
Add omni.kit.material.library.get_mdl_list_async and omni.kit.menu.utils.rebuild_menus to MenuUITestCase.wait_for_stage_loading to fix menu rebuild issues
Add find_widget_with_retry to MenuUITestCase to find a widget with retry
Replace omni.kit.ui_test.menu_click with custom step-by-step menu navigation that polls for each submenu to become findable and visible before proceeding, avoiding the carb.log_error and AttributeError that menu_click produces when submenus are slow to appear
Add carb.log_info diagnostics throughout menu_click_with_retry for log debugging
Suppress transient error logs from omni.kit.ui_test.query during intermediate retries in menu_click_with_retry; errors are only surfaced on the final retry attempt
Add pycoverage patch for numpy _CopyMode.__bool__ to prevent ValueError when scipy imports trigger _CopyMode.IF_NEEDED evaluation under coverage
Fix pycoverage compatibility issue with numpy sum and prod functions
Add a pycoverage compatible amin and amax implementation that is monkeypatched into numpy on extension startup. Removed from image_comparison.py as it is no longer needed.
This is only used if –/exts/omni.kit.test/pyCoverageEnabled=1 is set
Refactor menu_click_with_retry into a separate function
Add new_stage to MenuUITestCase
Fixed
Add omni.kit.material.library as a dependency
omni.isaac.core_archive
Changed
Update to llvmlite==0.46.0, nest_asyncio==1.6.0, matplotlib==3.10.8, contourpy==1.3.3, fonttools==4.61.1, pyparsing==3.3.2, cycler==0.12.1, kiwisolver==1.4.9, packaging==26.0, osqp==1.0.5, pyperclip==1.8.0, pyperclip==1.11.0
omni.isaac.ml_archive
Changed
Update to pytorch 2.10.0+cu128, torchaudio 2.10.0+cu128, torchvision 0.25.0+cu128 and update dependencies
omni.kit.loop-isaac
Added
Added set_next_simulation_time function and Python binding to support multi-tick rendering mode
When /rtx/hydra/supportMultiTickRate is enabled, SWHExternalSimulationTime is passed to the run loop
omni.pip.cloud
Changed
Update cryptography to 46.0.5
Update azure-core to 1.38.0
Update msal to 1.35.1
Downgrage boto3 to 1.40.61
Downgrage botocore to 1.40.61
Downgrage s3transfer to 0.14.0
Update aioboto3 to 15.5.0
omni.pip.compute
Added
Added “pynvvideocodec==2.1.0”
Changed
Update imageio==2.37.2, scipy==1.17.0, pyyaml==6.0.3, opencv-python-headless==4.13.0.90, trimesh==4.11.1, rtree==1.4.1
Isaac Sim ROS Workspaces Changelog Summary#
The Isaac Sim ROS Workspaces companion repository for Isaac Sim ROS Bridge has the following changes for Isaac Sim 6.0.0:
Added#
isaac_compressed_image_decoderpackage for decoding ROS 2 compressed images [Humble, Jazzy]ros2_object_id_subscribertutorial example inisaac_tutorials[Humble, Jazzy]topic_based_ros2_controlROS 2 package added as a submodule [Jazzy]Multi-humanoid namespace support in
h1_fullbody_controllerlaunch [Humble, Jazzy]Ubuntu 24.04 / ROS 2 Jazzy Python 3.12 Docker build support and dockerfile [Jazzy]
rmw_zenohsupport for Jazzy 22.04 Docker build [Jazzy]--no-cache(-n) flag forbuild_ros.shto allow cache-free Docker rebuilds [Humble, Jazzy]
Changed#
Bumped all package versions to Isaac Sim 6.0.0
Improved Humble MoveIt integration with custom
panda_isaac.urdf.xacroandgripper_to_isaac.pybridge [Humble]Updated MoveIt configs to mitigate timeout issues [Jazzy]
Cleaned up occupancy map parameters in Navigation packages [Humble, Jazzy]
Updated internal libraries path to
isaacsim.ros2.coreinisaacsimROS package [Humble, Jazzy]Switched
h1_fullbody_controllertopics to relative names for namespaced multi-humanoid setups [Humble, Jazzy]
Removed#
Legacy references to older Ubuntu / Python / ROS mentions from launch files, parameters, and build scripts