Use your USD assets
in simulation.
Open your USD content, inspect what is authored, and bring it into the stack you use.
Download & open
Choose your content
Inspect an asset or environment in the library, then sign in to download it. Selected articulated assets are free. Generated assets and environments use USD.
Extract the complete package
If you receive a ZIP, extract the entire archive to a local folder. Keep the USD layers, textures, material files and their relative paths together. A ZIP is a container; open the USD inside it.
Open the root USD
Use the entry layer named in the package’s README or root-layer metadata, when included. Open that file in Isaac Sim to inspect the complete stage, or reference it into your own scene. Keep changes in a separate working copy or layer.
Check it in your task
Confirm scale and orientation, resolve missing dependencies, inspect collisions and move the authored joints. Test the interactions your robot needs in your simulator before adding the asset to a training run.
For Isaac Sim’s USD workflow, see NVIDIA’s OpenUSD guide. This import guidance is separate from a tested-version statement for a particular asset.
Know what is in the package.
Folder names and layering vary by asset. Use the supplied entry layer and preserve its dependencies, rather than renaming files to match a fixed template.
- Root USD layer
- The entry point that composes the object or environment. Look for the package’s declared root file; a mesh-only layer may not include physics or materials.
- Referenced content
- Additional USD layers, textures and material definitions, where used. Some assets keep these in subfolders; others author more of the scene in one layer.
- Physics & labels
- Authored properties live on USD prims and their applied schemas. Inspect the selected asset’s data; a render or a filename cannot confirm which properties are present.
- Supporting records
- Read any included licence, manifest and validation report. Packages built with our free Packager also contain a thumbnail, metadata, content hashes and validation records.
Finding the entry layer in a Packager ZIP
The Packager writes root-layer metadata to .metadata/com.nvidia.simready.root_usds.json. Use its declared entry file and retain the package’s original content paths. Existing library packages may use a different layout.
USD is the format.
Compatibility is specific.
| Your workflow | What to check |
|---|---|
| Generated content | USD output for both assets and environments. The workflow covers geometry, materials, collision, physics and validation, with joints where needed. Review the completed stages and the delivered file’s properties for each output. URDF and MJCF are not included as standard generation exports. |
| Library content | Review the item’s downloadable package format and authored properties. The image or browser viewer is a preview, not the delivery format. |
| Isaac Sim / Isaac Lab | Check the exact simulator version, material support and task setup. A catalog-wide tested Isaac Sim version is not currently published; request confirmation for the assets and release you use. |
| MuJoCo / other engines | Our browser tool can inspect supported USD physics with MuJoCo. That does not provide an MJCF export or establish compatibility with your own runtime. |
| SimReady Foundation | Our authoring standard. A validation result applies to the selected profile and version, with its stated check coverage; it is not a universal simulator certification. |
Units, bodies & joints
Read the stage’s metersPerUnit and upAxis before composing it into a scene. Inspect rigid bodies, collision approximations, mass properties and material bindings together.
USD joints identify their connected bodies through physics:body0 and physics:body1. Their local frames, axis and limits define the motion. Revolute angles use degrees in USD; prismatic distances use stage length units. Check your controller API’s units before applying commands. OpenUSD physics reference
A concrete library example
The inspected Refrigerator USD uses metres and a Z-up stage. Its authored joints include revolute doors and prismatic drawers and shelves. Names and joint paths belong to that asset; discover them from the USD instead of hard-coding this structure for every download.
These are authored file properties, not a measured runtime result.
Inspect a USD with Python
Run this in a Python environment with OpenUSD’s pxr bindings available. Replace the path with your extracted entry layer. It reads stage metadata, joint types and authored class labels.
from pxr import Usd, UsdGeom, UsdPhysics
stage = Usd.Stage.Open("/path/to/your/asset.usd")
if not stage:
raise RuntimeError("Could not open the USD stage")
print("Root:", stage.GetDefaultPrim().GetPath())
print("Up axis:", UsdGeom.GetStageUpAxis(stage))
print("Meters per unit:", UsdGeom.GetStageMetersPerUnit(stage))
for prim in stage.Traverse():
if prim.IsA(UsdPhysics.Joint):
print("Joint:", prim.GetPath(), prim.GetTypeName())
labels = prim.GetAttribute("semantics:labels:class")
if labels and labels.HasAuthoredValueOpinion():
print("Class:", prim.GetPath(), labels.Get())Semantic labels
Labels describe objects and parts; your dataset pipeline decides how those labels become class IDs. The inspected Refrigerator uses semantics:labels:class, with values such as refrigerator, refrigerator door and refrigerator shelf.
Inspect each package’s authored labels before mapping them to your taxonomy. Label names, coverage and numeric segmentation IDs are not a single guaranteed catalog-wide schema. For a custom digital twin, agree the label taxonomy and required part coverage as part of the scope.
Check the report.
Test the behavior.
Choose the SimReady profile and version that match your requirements, then review passing, failing, unchecked and non-applicable findings. A profile name without its version and results is not a conformance record. NVIDIA’s profile workflow
The Packager runs validation and creates the archive even when checks fail. Package created and Validation passed are separate results. Packaging does not add missing physics. Sim on Web is a useful inspection step; your final check belongs in your target simulator.
A few common checks.
The stage opens, but parts or textures are missing.
Confirm you extracted the whole archive and opened the correct root layer. Check unresolved reference and shader messages in the simulator console. Preserve relative paths, including any MDL or texture folders, and confirm that your renderer supports the materials used.
The object is the wrong size or orientation.
Compare the asset’s stage units and up axis with your destination stage. Check any parent transforms introduced during import. Avoid changing geometry scale alone without reviewing physics, mass and joint-frame implications.
The object looks right, but does not move as expected.
Inspect whether the selected prim is a rigid body, whether it is static or kinematic, and whether the expected joints and drives are present. Check collision shapes and joint limits before tuning the controller. Visual articulation in a preview does not replace these runtime checks.
Which details should I send for support?
Send the asset name, package version or download date, simulator and version, entry filename, and the relevant error or validation finding. Include the smallest reproduction you can share.
support@imagine.io is the support team for simgenerator, a product by imagine.io.