Prop-Robotics-Neutral Profile USD Authoring Guide#
This document describes how to author a USD asset that conforms to the
Prop-Robotics-Neutral profile. It consolidates the required feature set, USD
properties, naming conventions, and composition expectations.
Profile definition#
The Prop-Robotics-Neutral profile includes the following feature sets (see prop_robotics_neutral.toml and the feature dependency graph). Each feature’s requirements and dependencies are defined in the feature specifications.
[Prop-Robotics-Neutral]
"1.0.0" = {features = [
{"FET_000_STANDARD" = {version = "0.1.0"}}, # Core
{"FET_001_STANDARD" = {version = "0.1.0"}}, # Minimal
{"FET_003_STANDARD" = {version = "0.1.0"}}, # RBD Physics
{"FET_004_STANDARD" = {version = "0.1.0"}}, # Multi-Body Physics
{"FET_005_STANDARD" = {version = "0.1.0"}}, # Grasp Physics
{"FET_006_MDL" = {version = "0.1.0"}}, # Materials (MDL)
]}
"2.0.0" = {features = [
{"FET_000_STANDARD" = {version = "0.1.0"}}, # Core
{"FET_001_STANDARD" = {version = "1.0.0"}}, # Minimal
{"FET_003_STANDARD" = {version = "0.1.0"}}, # RBD Physics
{"FET_004_STANDARD" = {version = "0.1.0"}}, # Multi-Body Physics
{"FET_005_STANDARD" = {version = "0.1.0"}}, # Grasp Physics
{"FET_006_MDL" = {version = "0.1.0"}}, # Materials (MDL)
]}
"2.2.0" = {features = [
{"FET_000_STANDARD" = {version = "0.1.0"}}, # Core
{"FET_001_STANDARD" = {version = "1.0.1"}}, # Minimal
{"FET_003_STANDARD" = {version = "0.2.0"}}, # RBD Physics
{"FET_004_STANDARD" = {version = "0.2.0"}}, # Multi-Body Physics
{"FET_005_STANDARD" = {version = "0.1.0"}}, # Grasp Physics
{"FET_006_MDL" = {version = "0.1.0"}}, # Materials (MDL)
{"FET_000_PHYSX" = {version = "0.1.0"}, optional=true}, # Core PhysX runtime variant
{"FET_000_NEWTON" = {version = "0.1.0"}, optional=true}, # Core Newton runtime variant
{"FET_000_MUJOCO" = {version = "0.1.0"}, optional=true}, # Core MuJoCo runtime variant
]}
Version 2.2.0 (and later) additionally offers the optional Core runtime
physics variant features. See Runtime physics variants (optional).
Required USD properties and schemas#
Stage metadata (required)#
defaultPrimmust be set on every layer.upAxis = "Z"andmetersPerUnit = 1must be set on every stage.
Rigid bodies and colliders (required)#
Apply
PhysicsRigidBodyAPIto any simulated rigid body prim.Apply
PhysicsCollisionAPIto collision-enabled prims.Rigid body prims must be
UsdGeomXformable.
Multi-body physics (conditional)#
Single-rigid-body props are valid for this profile when they satisfy
FET_003_STANDARD. FET_004_STANDARD applies only to props intentionally
authored as multi-body assemblies, with two or more rigid bodies connected by
joints or articulation relationships. For props with exactly one rigid body,
multi-body physics is not applicable and must not block profile conformance.
Use
UsdPhysicsJointprims (or subtypes) to connect rigid bodies.Author
rel physics:body0andrel physics:body1relationships.
Grasp physics (required)#
Author grasp data according to
FET_005_STANDARDrequirements.
Materials (required)#
Author MDL materials per
FET_006_MDLrequirements.Ensure all material and MDL asset paths are relative and exist.
Bind materials to all non-guide meshes.
Runtime physics variants (optional)#
Starting with profile version 2.2.0, this profile offers three optional
runtime physics variant features that scaffold runtime-specific physics onto
the neutral Core asset:
FET_000_PHYSX— adds aPhysXvariant set, arunnables/physics/physxpayload, and matchingSimReady_Metadata.Variants.Physics.PhysXmetadata.FET_000_NEWTON— adds the equivalentNewtonvariant set, payload, and metadata.FET_000_MUJOCO— adds the equivalentMuJoCovariant set, payload, and metadata.
These features are optional and do not block conformance when absent. Each
variant set defaults to Disabled, so the neutral asset behavior is unchanged
until a consumer selects Enabled. Author them following the reference layout
in sample_content/common_assets/props_general/obs_orange_a02 (variant set on
the default prim, payload under runnables/physics/). The runtime-specific
collider/schema content inside each payload is authored by the corresponding
FET_003_<RUNTIME> physics feature, not by the Core variant feature.
Stage composition requirements#
This profile does not require Isaac Sim composition. A single-layer USD is acceptable. If you choose to split layers, keep all references and payloads relative and consistent.
Naming conventions#
Prim naming#
Choose either
camelCaseorsnake_caseand use it consistently.Avoid spaces, special characters, and reserved keywords.
Use descriptive, purpose-driven names.
Use prefixes by prim type when appropriate (e.g.,
mesh_,material_).
File naming#
Use lowercase file names.
Use
.usd,.usda,.usdc, or.usdzas appropriate.Use underscores or hyphens; avoid spaces and special characters.
Avoid reserved names (e.g.,
CON,PRN,AUX,NUL).Use version numbers when appropriate (e.g.,
_v1.0).
Validation metadata (recommended)#
Include profile metadata in customLayerData to simplify validation workflows:
customLayerData = {
dictionary SimReady_Metadata = {
dictionary validation = {
string profile = "Prop-Robotics-Neutral"
string profile_version = "1.0.0"
}
}
}
References#
Feature dependency graph — requirements and dependencies for all features
nv_core/tiers/simready_foundation_tier_core/simready/foundation/tier_core/profiles/prop_robotics_neutral.tomlnv_core/tiers/simready_foundation_tier_core/simready/foundation/tier_core/features/FET_001_STANDARD.mdnv_core/tiers/simready_foundation_tier_core/simready/foundation/tier_core/features/FET_003_STANDARD.mdnv_core/tiers/simready_foundation_tier_core/simready/foundation/tier_core/features/FET_004_STANDARD.mdnv_core/tiers/simready_foundation_tier_core/simready/foundation/tier_core/features/FET_005_STANDARD.mdnv_core/tiers/simready_foundation_tier_core/simready/foundation/tier_core/features/FET_006_MDL.mdnv_core/tiers/simready_foundation_tier_core/simready/foundation/tier_core/capabilities/core/naming_paths/requirements/prim-naming-convention.mdnv_core/tiers/simready_foundation_tier_core/simready/foundation/tier_core/capabilities/core/naming_paths/requirements/file-naming-convention.md