usd-composition-architecture

Structures Isaac Sim robot assets into binary geometry crates and layered USDA files.

4.0k|530|Updated May 28, 2025
One-click install
npx skills add https://github.com/isaac-sim/IsaacSim --skill usd-composition-architecture
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: usd-composition-architecture
Source: https://github.com/isaac-sim/IsaacSim/tree/main/skills/usd-composition-architecture
Command: npx skills add https://github.com/isaac-sim/IsaacSim --skill usd-composition-architecture

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Building robot and environment assets for Isaac Sim often results in monolithic USD files that are slow to load, hard to edit, and wasteful of VRAM during reinforcement learning. This Skill explains NVIDIA's recommended composition pattern so assets load faster, remain hand-editable, and support headless RL training.

Core Features & Use Cases

  • Layered Asset Structure: Splits a robot into a binary geometries.usdc crate plus USDA layers (base, instances, materials, physics, physx, mujoco, robot) composed through an interface.usda entry point.
  • Headless RL Optimization: Uses USD payload lazy loading to skip appearance payloads (materials, textures) during RL training, reducing startup time and VRAM usage.
  • Asset Transformer Pipeline: Applies GeometriesRoutingRule, MaterialsRoutingRule, SchemaRoutingRule, and InterfaceConnectionRule to convert URDF/MJCF imports into this layout.
  • Use Case: When physics edits in a USDA file do not take effect, use the composition arc precedence rules and the property-stack debugging snippet to find which layer overrides your opinion.

Quick Start

Restructure my imported URDF robot into the Isaac Sim layered USD layout with a binary geometry crate and separate physics and materials USDA layers.

Frequently Asked Questions about usd-composition-architecture

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure USD assets for Isaac Sim robots?

Split the robot into a binary geometries.usdc crate for mesh data and USDA layers for base hierarchy, instances, materials, physics, and robot schema. An interface.usda composes everything via payload and reference arcs as the entry point.

How to reduce VRAM and startup time for Isaac Lab RL training?

Skip loading appearance payloads so materials.usda and Textures are never loaded during RL training. USD payload arcs load lazily, so only base and physics layers are composed when appearance is not requested.

Should I use USDA or USDC for USD files?

Use binary USDC for high-volume mesh data like points and indices that is never hand-edited. Use ASCII USDA for everything else, including hierarchy, materials, and physics, so files stay diffable in version control and editable by humans.

Why are my physics edits in a USDA file not taking effect?

USD applies opinions by precedence: sublayers, then references, payloads, variant sets, and direct opinions. Inspect the property stack with GetPropertyStack to find which higher-precedence layer is overriding your physics attribute.

Can PhysX and MuJoCo settings coexist in one USD asset?

Yes, keep neutral joint and mass definitions in physics.usda, then create physx.usda and mujoco.usda layers that sublayer it. Each engine-specific layer adds only its own solver and tuning attributes on top of the shared physics definition.