Simulation worlds: PhysX, Omniverse, Isaac Sim, and Cosmos
Part I learned the physics; Part II differentiated it. This part is about everything around the physics: the engine that runs production scenes, the platform that holds the world, the sensors that see it, and the generative models beginning to dream it.
By Majid MazouchiDrafted with ClaudeJuly 2026Companion to Parts I & II
Abstract. A physics solver is not a world. A world has geometry with materials, lights and cameras, lidars and radars, robots and their controllers, a thousand assets from a dozen tools, and people who need to see it. This guide covers that layer of the stack: PhysX 5, NVIDIA's open-source production physics engine, now also packaged as the pip-installable ovphysx library; Omniverse, the OpenUSD-native platform of SDKs and libraries for building simulation applications; Isaac Sim 6, the open-source (Apache 2.0) robotics simulator that composes all of it, with PhysX and Newton as switchable physics backends; RTX-based sensor simulation and Replicator synthetic data generation; the Blueprint reference architectures for factory, fleet, and AV digital twins; and Cosmos, the world-foundation-model family that generates worlds rather than constructing them. Throughout, the vehicle-engineering reading: plant twins, AV validation, perception data, and where a health-management engineer plugs in.
Section 01
The world layer
This series has climbed a stack. Surrogates learn what physics does; differentiable engines expose how it responds; the world layer decides where it all happens, what observes it, and who can work with it.
Three vocabulary corrections save weeks of confusion. First, Omniverse is not an application; it is a platform of SDKs and libraries (Kit, RTX, USD tooling) on which applications are built, Isaac Sim being the flagship. Second, PhysX and Newton are colleagues, not rivals: Isaac Sim ships both as switchable backends, PhysX carrying two decades of production maturity and Newton carrying differentiability and open governance. Third, a Blueprint is a reference architecture, working code plus a documented workflow, not a product you install; you fork it the way you fork a PhysicsNeMo recipe.
The organizing question of this part: when your problem stops being "solve these equations" and becomes "stand up a believable world, populate it, observe it with realistic sensors, and run fleets of things inside it," what do you reach for, and in what order?
Section 02
PhysX 5: the production engine
PhysX is the physics engine most people have used without knowing it, decades of games, and now the default engine of Omniverse and Isaac Sim. Version 5 is open source under BSD-3, GPU solver source included.
The repository at NVIDIA-Omniverse/PhysX now hosts the combined stack: the PhysX SDK itself (5.6.x at the time of writing, with GPU source released), the Flow volumetric fluid library, and the Omni PhysX layer, the Kit extensions, USD schemas, and runtime that let PhysX consume physics authored as USD in applications like Isaac Sim.
Table 1 · What PhysX 5 simulates
Capability
What it is
Vehicle-flavored use
Rigid bodies + TGS solver
GPU-parallel rigid body dynamics with the temporal Gauss-Seidel solver; convex, mesh, and SDF collision
Everything from parts on a conveyor to full plant scenes with thousands of bodies
Reduced-coordinate articulations
Featherstone-style joint-space articulations with drives and limits, GPU batched
Robot arms, suspensions-as-linkages, closures; the backbone of Isaac RL workloads
Vehicle SDK (PhysX Vehicle 2.0)
A dedicated, modular vehicle model: tires, suspension, drivetrain, engine, gearbox, anti-roll, with pluggable components
Drivable vehicles in real-time scenes; the fast vehicle model for fleet-scale and interactive work, distinct from high-fidelity multibody
Deformables (FEM)
GPU finite-element soft bodies
Compliant grippers, seals, soft fixtures in manufacturing sims
PBD particles
Position-based particles for cloth, fluids, granular
Wire harnesses and flexible dress parts in assembly simulation
Scene queries + CCT
Raycasts, sweeps, overlaps; character controllers
Sensor stubs, reachability checks, human workers in plant twins
ovphysx: the engine without the platform
The newest development matters for anyone who wants PhysX without adopting a whole application: pip install ovphysx (0.4.x, explicitly pre-1.0) delivers a self-contained library exposing the PhysX SDK and Omni PhysX behind a C API with Python bindings. It loads USD scenes directly, including from remote URIs, exposes simulation state through DLPack tensors for zero-copy exchange with PyTorch and JAX, supports environment cloning for batched reinforcement learning, and distributes scenes across multiple CUDA devices. In other words: the Isaac Sim physics core as an importable library, the same positioning bare Warp holds in Part II.
PhysX vs Newton, honestly
PhysX optimizes for robustness, contact quality, feature breadth, and production scale; differentiability is not its design goal. Newton optimizes for differentiability, extensibility, and research velocity; production breadth is still growing. Isaac Sim's decision to ship both as switchable backends is the correct reading: identify and differentiate with Newton where you need gradients, validate and scale with PhysX where you need maturity, and keep the scene identical in USD.
Section 03
Omniverse: anatomy of the platform
Strip away the marketing and Omniverse is four load-bearing pieces: a scene description, an application SDK, a renderer, and a fast data plane between them.
OpenUSD is the world's file format. Everything in Omniverse is a USD stage: geometry, materials, physics (via the UsdPhysics schemas met in Part II), robots, sensors, and simulation output. Composition and layering are what make multi-team, multi-tool workflows survivable: the plant layout, the robot cells, and the simulation overrides are separate layers composed non-destructively.
Kit is the application SDK. Every Omniverse application, Isaac Sim included, is a bundle of Kit extensions: Python or C++ modules contributing UI, simulation logic, importers, or services. Building your own tool means writing extensions, not forking an application, which is why the ecosystem now spans hundreds of them.
RTX is the renderer, and more importantly the sensor engine. Hardware ray tracing gives physically-based light transport in real time, which is pleasant for humans and essential for sensors: the same machinery that draws the scene simulates cameras, lidar returns, and radar with physical fidelity (Section 08).
Fabric is the data plane. A high-performance runtime representation of scene data that lets simulation write and rendering read at scale without round-tripping through USD's authoring layer every frame; the reason thousand-robot scenes are steppable at all.
The licensing map, plainly
The pieces you build on have different terms, and the differences are decision-relevant. PhysX is BSD-3. Isaac Sim is Apache 2.0 on GitHub. The Omniverse Kit SDK is free to develop with, but redistributing Kit inside your own shipped product runs through an Omniverse Enterprise license. For internal engineering tools this rarely bites; for an ISV shipping a simulator it is the first architectural question. The old Launcher-and-Nucleus distribution model has meanwhile given way to SDKs, containers, pip wheels, and cloud APIs; treat any tutorial that begins with the Omniverse Launcher as historical.
A pleasant surprise for agent builders
The NVIDIA-Omniverse GitHub organization now publishes Agent Skills and MCP servers for its own stack: semantic search over 400+ Kit extensions, USD and OmniUI API browsing, and RTX SDK scaffolding, consumable by Claude Code and other coding agents. For anyone already running a skills-and-MCP toolkit, the world layer arrives pre-instrumented for agentic development.
Section 04
USD hands-on: your first physics-ready stage
Part II introduced OpenUSD as a format. Here it becomes a skill: ten lines of Python that author a physics-ready scene, and the five concepts those lines quietly use.
from pxr import Usd, UsdGeom, UsdPhysics, Gf
stage = Usd.Stage.CreateNew("cell.usda")
UsdGeom.SetStageUpAxis(stage, UsdGeom.Tokens.z) # Isaac convention: Z up
UsdGeom.SetStageMetersPerUnit(stage, 1.0) # and meters, not cm
UsdGeom.Xform.Define(stage, "/World")
UsdPhysics.Scene.Define(stage, "/World/PhysicsScene")
crate = UsdGeom.Cube.Define(stage, "/World/Crate")
crate.GetSizeAttr().Set(0.4)
UsdGeom.XformCommonAPI(crate).SetTranslate(Gf.Vec3d(0, 0, 1.0))
UsdPhysics.RigidBodyAPI.Apply(crate.GetPrim()) # it falls
UsdPhysics.CollisionAPI.Apply(crate.GetPrim()) # it collides
UsdPhysics.MassAPI.Apply(crate.GetPrim()).GetMassAttr().Set(12.0)
stage.GetRootLayer().Save() # open this in Isaac Sim
The file this writes is plain ASCII (.usda); open it in a text editor and every line of the Python maps to a visible line of scene description, which is the fastest way to build intuition. The concepts at work:
Stage, prim, property. A stage is the composed scene; prims are its nodes (/World/Crate); properties are their attributes (size, translate) and relationships. Everything else in the platform is machinery for producing and consuming these three.
API schemas versus typed schemas.UsdGeom.Cube is a typed ("IsA") schema: the prim is a cube. UsdPhysics.RigidBodyAPI is an API schema: a capability applied onto an existing prim. Physics in USD is almost entirely applied API schemas, which is why any imported CAD mesh can be made dynamic after the fact.
Composition arcs. Real projects never author monoliths: a plant stage sublayers the layout, references each robot's asset file, payloads heavy geometry for deferred loading, and switches variants for configurations. Edits land in your layer; the referenced assets stay pristine. This is the mechanism behind every "non-destructive collaboration" claim in Section 03.
ASCII versus crate..usda is diffable text for things you author by hand; .usdc (crate) is the binary for heavy data; plain .usd can be either. Author small things as usda so git review works.
Conventions before content. Z-up and meters-per-unit 1.0 are the Isaac Sim conventions; assets arriving Y-up in centimeters (most DCC exports) are the single most common source of "my robot is the size of a stadium" bugs, treated properly in Section 16.
Where to steal from
The OpenUSD-Code-Samples repository is the pattern book for exactly this kind of snippet, in Python, C++, and raw USDA side by side; keep it open in a tab for the first month.
Section 05
Isaac Sim 6: the reference simulator
Isaac Sim is where the stack composes: PhysX or Newton for dynamics, RTX for rendering and sensors, USD for the scene, Kit for extensibility, all open source under Apache 2.0 and installable with pip.
The capability set, briefly: import from URDF, MJCF, CAD (including Onshape), or USD; tune robots for physics accuracy versus computational cost; simulate with either physics backend and switch between them; attach RTX and physics-based sensors; generate synthetic data through Replicator; bridge to ROS 2 for stack-in-the-loop testing; and hand off to Isaac Lab (Part II) for reinforcement learning at scale. Real-world capture flows in through NuRec neural reconstruction, closing the loop from physical facility to digital twin.
Architecturally, Isaac Sim is deliberately a reference application: a curated bundle of Kit extensions you are expected to extend, strip down, or embed. The three consumption patterns, in increasing order of commitment: use the GUI application as-is for interactive scene work; drive it headlessly from Python scripts for pipelines and CI; or cherry-pick its extensions into a custom Kit application that is yours. The pip distribution (an isaacsim metapackage, 6.x at the time of writing) makes the middle path, Python-first automation, dramatically less painful than it once was.
The quiet headline
The PhysX-or-Newton backend switch inside one simulator is the practical bridge between Parts II and III of this series: author the scene once in USD, train and identify against the differentiable engine, then validate the same scene against the production engine, an engine-to-engine cross-check that catches solver-shaped artifacts nothing else will.
Section 06
Scripting Isaac Sim: the standalone idiom
Everything durable you build will run headlessly from Python, not from the GUI. The standalone-script skeleton is short, but its two rules are non-negotiable.
from isaacsim import SimulationApp
simulation_app = SimulationApp({"headless": True}) # RULE 1: this line comes FIRST,# before any other omni/isaac importfrom isaacsim.core.api import World # namespaces moved from omni.isaac.*from isaacsim.core.utils.stage import open_stage # in recent releases; pin and check
open_stage("cell.usda") # the stage from Section 04
world = World(stage_units_in_meters=1.0)
world.scene.add_default_ground_plane()
world.reset() # RULE 2: reset before stepping;for i in range(600): # it initializes physics handles
world.step(render=False)
simulation_app.close()
# API sketch for the 6.x generation; the docs of your pinned version are truth.
Why the import-order rule exists: SimulationApp boots the Kit runtime, and every omni.* and isaacsim.* module is a Kit extension that only exists once the runtime is up. Importing them earlier fails with errors that do not mention this cause, which is why it is the first thing every Isaac veteran checks in someone else's broken script.
Two details that save an afternoon: semantic outputs (segmentation, labeled boxes) require prims to carry semantic labels, applied via the Semantics schema or the GUI's semantics tools, before the writer has anything to label; and the writer's output directory fills with per-annotator subfolders whose naming the docs specify, so inspect one frame end to end before generating fifty thousand.
Section 07
Building your own: Kit apps and extensions
The step from "scripting Isaac Sim" to "shipping a tool" is the Kit template repository: scaffolded applications and extensions with the build, test, and packaging plumbing already wired.
# The whole lifecycle, four commands
git clone https://github.com/NVIDIA-Omniverse/kit-app-template.git
cd kit-app-template
./repo.sh template new # pick: app (USD Composer / Explorer / Viewer)# or extension (Basic Python / Python UI / C++)
./repo.sh build
./repo.sh launch
The application templates are honest starting points, not toys: USD Composer for authoring-style tools, USD Explorer for large-scene review, USD Viewer for a viewport-only app built to be streamed into a web page. The extension templates scaffold the unit you will actually write most: a Kit extension is a folder with a extension.toml manifest (name, version, dependencies on other extensions) and a Python module exposing lifecycle hooks:
import omni.ext
class FleetHealthOverlay(omni.ext.IExt):
def on_startup(self, ext_id):
# build UI, subscribe to stage events, register commandsprint("[fleet.health.overlay] up")
def on_shutdown(self):
# tear down everything you createdprint("[fleet.health.overlay] down")
Because Isaac Sim itself is a bundle of extensions, anything you build this way loads into it directly: a telemetry overlay, a custom importer for your plant's asset conventions, a one-button scenario runner for the test team. The template's tooling also handles packaging and the streaming-deployment layers (Kubernetes-based Kit App Streaming, or NVCF for managed cloud), which is the sanctioned route when the tool needs to reach people without workstations, with the Section 03 licensing note applying the moment Kit is redistributed inside a product.
Section 08
Sensors, rendering, and synthetic data
For perception work, the renderer is not cosmetics; it is the physics of observation. A simulated camera is a light-transport problem, a lidar is a laser-transport problem, and getting them right is what makes synthetic data worth training on.
Sensor RTX
Omniverse's sensor simulation runs the same ray-tracing machinery as rendering, but for sensor physics: camera models with lens effects and rolling shutter, lidar with beam patterns, multiple returns, and material-dependent reflectance, and radar-class sensors, exposed through Sensor RTX APIs that the Mega and AV-simulation Blueprints are built on. The fidelity argument is simple: perception models trained on naive renders learn the render's tells; sensors simulated as physics narrow that gap at the source.
Replicator: randomization as a pipeline
Replicator is the synthetic-data-generation framework inside Isaac Sim: programmatic control over scene content, materials, lighting, poses, and sensor parameters, with automatic ground-truth labeling (bounding boxes, segmentation, depth, normals) emitted alongside every frame. It is domain randomization (Part II, Section 15) industrialized: define distributions over the world, sample datasets from them, and version the generator instead of the data.
Assets that behave: SimReady
A photoreal mesh is not a simulation-ready asset; it needs mass, materials, collision geometry, and semantic labels. The SimReady convention packages exactly that, and generative tooling now accelerates the drudgery: USD Code and USD Search NIM microservices generate and retrieve OpenUSD assets from text, and the Edify SimReady model auto-labels existing 3D assets with physical attributes, NVIDIA's cited example being a thousand objects processed in minutes rather than a forty-hour week.
Vehicle reading
This is the workhorse layer for perception teams: rare-event training data (debris, weather, unusual actors) for AV stacks, and inspection-model data (defect renders on body panels, corrosion textures, assembly errors) for manufacturing quality, both generated with labels that would be unaffordable to annotate by hand.
Section 09
Blueprints and digital twins: the gallery
Eight reference architectures and workflows, filterable by domain, each a fork-and-adapt starting point rather than a demo.
Showing 8 of 8 entries
Mega: robot fleets in facility twins
Factory & Fleet
Omniverse Blueprint · Sensor RTX APIs · Isaac Sim
The reference architecture for developing, testing, and optimizing robot fleets and their AI agents inside a physically accurate digital twin of a factory or warehouse before any robot touches the floor. In production use: KION, with Accenture and Siemens, builds warehouse twins on Mega to train and test fleets of Jetson-based autonomous forklifts for GXO.
Scale
Whole facilities, many robots
Proof point
KION / Accenture / Siemens → GXO
Vehicle angle The direct template for automotive plant logistics: AGV and AMR fleets, line-side delivery, and virtual commissioning of material flow before a layout change is welded into place.
A standardized, API-driven workflow for AV development: construct road-scene digital twins, replay recorded drive data through simulated sensors, generate new ground truth, and run closed-loop tests. It leans on USD composition to make scenario variants (weather, traffic, edge cases) modular layers rather than forked scenes, and connects to the Cosmos-generated clip corpus for coverage of the long tail.
Core moves
Replay, ground-truth gen, closed loop
Companion
NVIDIA Halos safety platform
Vehicle angle This is the validation factory for ADAS and AV functions, and the scenario machinery transfers to any vehicle software that must be tested against rare situations, driver-assist and health-monitoring logic included.
Announced at GTC 2026: an open reference architecture that turns compute into training data at scale, unifying data curation, augmentation, and evaluation in one pipeline built on Cosmos world foundation models and the OSMO operator. The stated target: diverse, long-tail datasets for world modeling, humanoid skills, and autonomous driving generated from limited real captures.
Inputs
Limited real data
Outputs
Curated, augmented, evaluated corpora
Vehicle angle The industrialized version of "we never have enough labeled failure data," which is the standing complaint of every diagnostics and perception team in the industry.
The blueprint for simulating AI factories, gigawatt-class data centers, as digital twins: power, cooling, network topology, and layout optimized virtually before construction, the pattern demonstrated with Cadence's Reality Digital Twin integration. Included here less for its subject than for its method: it is the most complete public example of multi-physics facility twinning on the platform.
Physics
Thermal, airflow, power, layout
Pattern
Design-before-build at facility scale
Vehicle angle Swap servers for cells and the method is a paint-shop or battery-plant energy twin; the CFD-plus-layout optimization loop is the same problem wearing different equipment.
Neural reconstruction that turns real-world captures into simulation-ready environments: photograph or scan the facility, reconstruct it as a renderable, navigable scene, and bring it into Isaac Sim as the stage for robot and sensor work. The inverse of synthetic data: instead of generating the world, digitize the one you have.
Direction
Physical → digital
Consumers
Isaac Sim scenes, twin backdrops
Vehicle angle The fastest honest route to a plant twin: reconstruct the actual line rather than remodeling it from stale CAD, then layer physics and robots on top.
A Kit-based reference for bringing computer-aided engineering data, fields, meshes, results, into Omniverse scenes for real-time, physically contextualized visualization: the "real-time digital twins for CAE" workflow that pairs CUDA-X solvers and physics-AI surrogates with RTX visualization.
Bridges
Solver output ↔ USD scenes
Pairs with
Part I surrogates, at interactive rates
Vehicle angle Where a DoMINO-style aero surrogate meets its audience: interactive flow fields on the actual vehicle model in a reviewable scene, instead of static contour plots in a slide deck.
Structured skills and Model Context Protocol servers covering the platform itself: semantic search across 400+ Kit extensions with dependency graphs, USD and OmniUI API browsing with signatures and examples, and RTX SDK project scaffolding, published for Claude Code and other coding agents, and listed in the public skill marketplaces.
Covers
Kit, USD, OmniUI, RTX SDK
Consumers
Agentic coding toolchains
Vehicle angle For a team already running a skills-and-MCP development kit, this is the world layer arriving pre-instrumented: your agents can learn Kit and USD the same way they learned your internal codebase.
A blueprint for streaming large industrial digital twins to Apple Vision Pro: the full-fidelity scene rendered server-side and delivered immersively, so a design review or plant walkthrough happens inside the twin rather than in front of it.
Pattern
Server render, immersive client
Audience
Design and operations reviews
Vehicle angle Vehicle design reviews and plant layout walkthroughs at true scale; the underrated payoff is stakeholder buy-in, because a twin people have stood inside gets maintained.
Every repository below was verified live at the time of writing. Together they cover the full path from first USD file to shipped Kit application; the third column says when to open which.
Table 2 · Official repositories, ordered roughly by the journey
A clean worked example of viewport overlays via the scene API
The exact pattern for drawing live telemetry or health markers on top of a twin
A shelf discipline
Clone the shelf, but pin it: record the commit of every sample you lift code from, because this ecosystem renames namespaces between minor versions more often than most. A SOURCES.md with repo, commit, and date has saved more Omniverse projects than any profiler.
Section 11
Cosmos: worlds that are generated, not constructed
Everything above builds worlds the classical way: model, compose, render. Cosmos, NVIDIA's world-foundation-model family, generates them: video-native neural models that predict, transfer, and reason about physical scenes.
Launched at CES 2025 and now at its third generation alongside models like Isaac GR00T and Alpamayo, the family divides by verb. Predict models generate physically plausible future video from prompts and context, synthetic worlds by sampling. Transfer models re-render structured input (a simulation layout, a segmentation, a coarse scene) into photoreal variants, which is how a single Omniverse scenario becomes a thousand weather-and-lighting variants. Reason models answer questions about physical scenes, the perception-and-judgment end. The AV pipeline is the flagship consumer: the AV-simulation ecosystem's public corpus includes tens of thousands of Cosmos-generated driving clips aimed at exactly the rare events real fleets under-sample.
The honest relationship between the two world-making methods
Constructed simulation gives controllability, ground truth by construction, and physics you can audit; it struggles with visual diversity and the cost of authoring the long tail. Generative world models give diversity and photorealism at negligible marginal cost; they struggle with physical guarantees, controllability, and labels. The emerging pattern is not a contest but a sandwich: construct the scenario in Omniverse (controllable, labeled), amplify it through Cosmos Transfer (diverse, photoreal), and validate perception against both. Treat WFM physics the way Part I taught you to treat surrogate physics: useful, fast, and to be cross-checked against the auditable model before anything safety-adjacent depends on it.
Section 12
The automotive map
One table to place every OEM function on the stack, and a closing argument for the health-management reader.
Table 4 · Where automotive functions land on the world layer
Function
Primary tools
What the twin buys
Plant logistics & AMR fleets
Mega Blueprint, Isaac Sim, PhysX
Fleet behavior and layout changes tested against a physically accurate facility before deployment
Virtual commissioning
Isaac Sim + ROS 2 bridges, NuRec capture
Cell and line control software validated against the twin, shrinking on-floor commissioning time
AV / ADAS validation
AV simulation Blueprint, Sensor RTX, Cosmos
Closed-loop testing over scenario spaces no fleet could drive, with ground truth for free
Perception training data
Replicator, SimReady assets, Cosmos Transfer
Labeled long-tail data for driving and for manufacturing inspection alike
Robot learning
Isaac Lab on Isaac Sim (PhysX or Newton)
Policies trained at GPU scale, transferred with the Part II sim-to-real discipline
CAE communication
kit-cae, Part I surrogates, RTX
Simulation results as interactive scenes rather than static reports
Design & ops review
USD composition, spatial streaming
One composable scene serving styling, engineering, and manufacturing simultaneously
The VHM argument
Vehicle health management enters this layer from three doors. First, the twin as context: telemetry interpreted against a live facility or vehicle twin is worth more than telemetry in a dashboard, because the twin supplies the operating context (duty, route, ambient, neighbors) that turns an anomaly into a diagnosis. Second, degraded-fleet simulation: the same Mega-style machinery that tests healthy fleets can inject the degradations Part II taught you to identify, a worn damper here, a drifting sensor there, and measure operational impact before deciding maintenance policy; failure-mode injection in a twin is DFMEA's quantitative sibling. Third, synthetic failure data: Replicator and Cosmos generate the labeled failure observations (visual, and increasingly signal-level) that real fleets are too healthy, or too poorly instrumented, to provide. The world layer, in short, is where health management stops being a per-signal discipline and becomes a per-system one.
Section 13
Getting started
All three entry points are now pip-shaped or git-shaped. Versions verified on PyPI at the time of writing.
# Isaac Sim 6.x as Python packages (the metapackage pulls the stack)
pip install isaacsim --extra-index-url https://pypi.nvidia.com
# PhysX as a standalone library (pre-1.0; API still settling)
pip install ovphysx
# Or build Isaac Sim from source
git clone https://github.com/isaac-sim/IsaacSim.git
# PhysX SDK + Omni PhysX source
git clone https://github.com/NVIDIA-Omniverse/PhysX.git
A sensible first week
Day 1: install Isaac Sim, load a sample scene, and run the basic tutorials until the stage, prims, and play-button model feels native. Day 2: import one of your own assets, a URDF robot or a CAD fixture, and give it physics. Day 3: attach an RTX camera and a lidar, and write frames plus ground truth to disk with Replicator; this single exercise touches sensors, SDG, and the Python API at once. Day 4: script the whole thing headlessly, no GUI, from one Python file, because everything durable you build will run this way. Day 5: switch the physics backend from PhysX to Newton on the same scene and diff the trajectories, which is Parts II and III shaking hands.
Hardware honesty
This layer is the most hardware-hungry of the series: RTX-class GPUs are effectively required for the sensor and rendering paths, and facility-scale scenes want workstation or server parts. Budget accordingly, or lean on containerized remote and cloud deployment, which the current distribution model treats as a first-class path.
Section 14
Project Zero: a cell twin that writes labeled data
A complete first project that touches every layer of this guide once, sized for a focused weekend. Deliverable: a physics-ready stage you authored, a headless script that simulates it, and a labeled synthetic dataset it produced.
Step 1 · Environment. Fresh Python environment, pip install isaacsim --extra-index-url https://pypi.nvidia.com (Section 13), and confirm the GUI launches and a sample scene plays. Do not skip the GUI check; every later mystery is easier to debug against a simulator you have seen working.
Step 2 · Author the stage. Run the Section 04 script, then extend it: three crates instead of one (/World/Crate_01…03), a static table under them (collision, no rigid body), and semantic labels on the crates so Replicator has something to annotate. Open the result in the GUI, press play, and watch the crates drop; if they fall through the table, you have met collision-API-forgotten, the classic first bug.
Step 3 · Simulate headlessly. The Section 06 standalone skeleton, pointed at your stage: open, reset, step 600 frames, close. Confirm it runs on a machine with no display attached, because that is where every pipeline eventually lives.
Step 4 · Generate the dataset. Bolt on the Section 06 Replicator block: randomized crate poses, one camera, RGB plus tight 2D boxes plus segmentation, 200 frames to _out/cell_ds. Open frame 0 and frame 199 side by side and verify the labels track the randomization before scaling the frame count.
Step 5 · Inspect like a skeptic. Plot the distribution of crate positions recovered from the labels against the distribution you requested; mismatches here are randomizer bugs that would silently bias a trained model. This ten-line pandas check is the habit that separates dataset generators from dataset believers.
Step 6 · Stretch goals, pick one. (a) Import a URDF robot next to the table and step it; (b) switch the physics backend to Newton on the same stage and diff crate trajectories against PhysX, the Parts II–III handshake; (c) wrap the whole run as a Kit extension button using Section 07's skeleton, and you have shipped your first tool.
What Project Zero proves
Authoring (USD), simulating (PhysX), observing (RTX camera), labeling (Replicator), and automating (headless Python) in one artifact, which is the entire world layer in miniature. Every real project after this one is Project Zero with more assets, more sensors, and more discipline.
Section 15
A 30-day playbook
Project Zero, industrialized: four weeks from installation to a defensible pilot twin, each week with an exit criterion so drift is visible.
W1Fluency
Environment and USD literacy
Install both consumption paths (pip and GUI). Work through the Learn OpenUSD curriculum's core modules and the Section 04 primer until stages, prims, schemas, and composition arcs are vocabulary, not lookup. Author three small stages by hand, including one that references another.
a hand-authored, physics-ready stage that passes the asset validator cleanly
W2Automation
Headless scripting and sensors
Complete Project Zero through Step 5. Then parameterize it: scene contents, camera count, randomization ranges, and frame counts from a config file, run entirely from CI or a remote box.
a one-command pipeline producing 1,000 labeled frames with a written sanity-check report
W3Your world
Real assets, one real cell
Bring in your own data: CAD of one actual cell or line segment through the vfi-samples conversion/validation/optimization pipeline, or a NuRec capture if geometry is stale. Add the real robot from URDF, give everything physics, and reproduce one real behavior (a pick, a transfer, a conveyor pass) well enough that a process engineer nods.
one physical cell reconstructed, simulating, and reviewed by someone who runs the real one
W4Integration
Connect it and decide
Pick the integration your organization will actually use: ROS 2 bridge to the real control stack, IsaacSimZMQ to an external twin service, Isaac Lab for a learning workload, or the Newton backend diff for a physics-credibility check. Package the demo, write the honest one-pager (what works, what does not, what it cost), and present the go / no-go.
a go / no-go decision backed by a working integration, not a rendered video
Section 16
Pitfalls the tutorials will not warn you about
Seven failure modes that account for most first-month misery on this stack, each cheap to avoid once named.
1 · Units and up-axis mismatches
Isaac Sim expects Z-up, meters. Most DCC and CAD exports arrive Y-up, centimeters. The symptoms are comic (stadium-sized robots, physics that looks like slow motion) but the fix is procedural: set stage metadata explicitly on everything you author, and normalize every import through a conversion step before it touches a working scene.
2 · Importing before the runtime exists
Any omni.* or isaacsim.* import before SimulationApp(...) fails with errors that never mention the real cause. Rule: SimulationApp is line one; all Kit-provided imports come after. Put it in your project template so nobody rediscovers it.
3 · Editing the authoring layer, reading the runtime (or vice versa)
Live simulation state flows through Fabric, not through the USD authoring layer, so a value you read via plain USD APIs mid-simulation may be stale, and an edit may not take effect where you expect. Use the simulator's core APIs (World, its views and articulation handles) for runtime reads and writes, and reserve raw USD editing for authoring time.
4 · Confusing physics rate with render rate
Physics steps at its own dt, rendering at another, and "it behaves differently headless" is usually this. Fix the physics timestep explicitly, decide how many physics steps per rendered frame, and never let wall-clock frame rate leak into dynamics if you care about determinism or comparisons between runs.
5 · Version drift and Launcher-era tutorials
Namespaces have moved (omni.isaac.core → isaacsim.core.*), the Launcher distribution is history, and many excellent-looking tutorials predate both. Check the date on everything, pin your Isaac Sim and extension versions, and record them in the repo; the shelf discipline from Section 10 applies to your own project doubly.
6 · Broken asset paths and unvalidated USD
Stages reference other files, and a scene that renders on your machine with absolute paths dies on the next one. Keep references relative, run the asset validator (as the vfi-samples pipeline does) as a gate, and treat "missing texture magenta" as a build failure, not a cosmetic issue.
7 · Headless does not mean GPU-less
The RTX renderer and sensor simulation need RTX-class GPU hardware whether or not a window is open, and facility scenes eat VRAM through textures and geometry long before compute saturates. Budget VRAM first, use payloads and instancing for large scenes, and test on the smallest GPU the pipeline must support early, not at delivery.
"I need gradients: system ID, calibration, design sensitivities"
Warp, Newton, differentiable rollouts
Part II
"I need a believable environment with sensors and many actors"
Isaac Sim on PhysX, RTX sensors
Part III
"I need labeled data I cannot collect"
Replicator + SimReady, amplified by Cosmos Transfer
Part III
"I need to test a fleet or a facility before touching the real one"
Mega / AV-sim Blueprints on the twin
Part III
"I need physics inside a training loop"
Newton or ovphysx via DLPack into PyTorch
Parts II–III
"I need my simulation results seen and believed"
kit-cae, USD scenes, spatial streaming
Parts I + III
The three parts compose into one sentence: learn the physics where solving is too slow (I), differentiate it where questions are gradients (II), and situate it in a world where systems, sensors, and people meet it (III). Any serious vehicle program will eventually run all three layers against the same USD scene, which is precisely why the scene format, not any single engine, is the load-bearing standard.
Section 18
Glossary
The working vocabulary of the world layer, in one place.
Stage
The composed USD scene: the result of opening a root layer and resolving every composition arc it pulls in.
Prim
A node in the scene hierarchy (/World/Crate); carries a type, applied schemas, properties, and children.
Layer
A single USD file's worth of opinions. Stages are stacks of layers; stronger layers override weaker ones non-destructively.
Composition arcs
The mechanisms that assemble stages from layers: sublayer (stacking), reference (asset inclusion), payload (deferred-load reference), variant (switchable alternatives), inherits/specializes (class-like broadcast edits).
Typed vs API schema
Typed ("IsA") schemas define what a prim is (Cube, Mesh, Camera); API schemas apply capabilities onto existing prims (RigidBodyAPI, CollisionAPI, MassAPI). USD physics is almost entirely applied APIs.
usda / usdc
ASCII and binary (crate) encodings of USD. Author small things as diffable usda; let heavy data live in usdc.
Kit
The Omniverse application SDK. Every Omniverse app, Isaac Sim included, is a configured bundle of Kit extensions.
Extension
The unit of Kit functionality: a manifest (extension.toml) plus Python or C++ implementing lifecycle hooks; hundreds ship with the platform.
Fabric
The high-performance runtime data plane between simulation and rendering; the reason live state and the USD authoring layer are not the same thing (Pitfall 3).
RTX renderer / Sensor RTX
The hardware-ray-traced renderer, and the same machinery repurposed as physically-based camera, lidar, and radar simulation.
Replicator
Isaac Sim's synthetic-data framework: programmatic randomization of scenes plus automatic ground-truth writers (boxes, segmentation, depth, normals).
SimReady
The asset convention for simulation-usable content: geometry plus mass, materials, collision, and semantic labels, not just a pretty mesh.
Semantic labels
Class annotations applied to prims that Replicator's annotators read; no labels, no labeled data.
NuRec
Neural reconstruction: real-world captures turned into simulation-ready environments; the physical-to-digital direction.
Blueprint
A reference architecture with working code and a documented workflow (Mega, AV sim, DSX); forked and adapted, not installed.
NIM
NVIDIA Inference Microservice: a pretrained model behind a container and API (USD Code, USD Search, DoMINO Aero from Part I).
World foundation model (WFM)
A generative model of physical scenes (Cosmos Predict / Transfer / Reason); worlds by sampling rather than construction.
Digital twin
A maintained virtual counterpart of a physical asset or facility, coupled to it by data; distinguished from a mere model by the coupling.
Virtual commissioning
Validating control software against the twin before, or instead of, commissioning time on the physical equipment.
NVIDIA PhysX SDK 5 and Omni PhysX, open source (BSD-3), GPU solver source included; Flow fluid library. github.com/NVIDIA-Omniverse/PhysX
ovphysx: self-contained Python library for USD-based physics simulation with DLPack interoperability, batched environment cloning, and multi-GPU scene distribution (pre-1.0; 0.4.x on PyPI at time of writing). Documentation
NVIDIA Isaac Sim: open-source (Apache 2.0) robotics simulation reference application on Omniverse; PhysX and Newton switchable backends; URDF/MJCF/CAD/USD import; Replicator; ROS 2 bridges. github.com/isaac-sim/IsaacSim
Isaac Sim developer overview and licensing FAQ, including Kit redistribution terms and NuRec real-world capture. developer.nvidia.com/isaac/sim
NVIDIA-Omniverse GitHub organization: Blueprints and workflows, kit-cae, USD validation and profile tooling, and Agent Skills / MCP servers for Kit, USD, OmniUI, and the RTX SDK. github.com/NVIDIA-Omniverse
Pixar / AOUSD, OpenUSD: Universal Scene Description. openusd.org
Blueprints, twins, and world models
NVIDIA CES 2025 announcements: Cosmos world-foundation-model platform; Mega, AV simulation, spatial streaming, and real-time CAE digital twin Blueprints; USD Code / USD Search NIMs; Edify SimReady. Coverage: Robotics 24/7, The Robot Report.
NVIDIA blog, "Into the Omniverse: World Foundation Models Advance Autonomous Vehicle Simulation and Safety" (AV Blueprint workflow, Cosmos-generated clip corpus, Halos). blogs.nvidia.com
NVIDIA blog, GTC 2026: Cosmos 3, Isaac GR00T N1.7, Alpamayo 1.5, the Physical AI Data Factory Blueprint (Cosmos + OSMO), the Omniverse DSX Blueprint, and the KION / Accenture / Siemens Mega deployment for GXO. blogs.nvidia.com
VFI Samples: CAD-to-USD conversion, asset validation, scene optimization, material assignment, and assembly automation for virtual facilities. github.com/NVIDIA-Omniverse/vfi-samples
Synthetic data examples for Replicator-based generation, and the IsaacSimZMQ external-process bridge. synthetic-data-examples · IsaacSimZMQ
Companion parts of this series
Part I: NVIDIA PhysicsNeMo, a field guide for vehicle engineering (surrogate models, DrivAerML, crash recipes, deployment workflows).
Part II: Differentiable physics engines, Warp and Newton (adjoints, system identification, the half-car case study, sim-to-real discipline).
On citation hygiene
Package versions (isaacsim 6.0.x, ovphysx 0.4.x) were verified against PyPI, and repository claims against the sources, in July 2026. This layer of the stack moves fastest of the three: Blueprints, model generations, and licensing details in particular should be re-verified against the linked primary sources before decisions rest on them.