Spaces:
Running on T4
SimReady OEM Library β Onboarding
Step 1: Clone the Foundation Repo
git lfs install
git clone https://github.com/NVIDIA/simready-foundation.git
cd simready-foundation
Requires Git LFS. Run
git lfs pullif binary files show as pointers.
Step 2: Understand Profiles
Profiles define what your asset must satisfy. Pick the one matching your use case:
| Profile | Use Case |
|---|---|
Prop-Robotics-Neutral |
Props (format-neutral physics) |
Prop-Robotics-Physx |
Props (PhysX-specific) |
Prop-Robotics-Isaac |
Props (Isaac Sim ready) |
Robot-Body-Neutral |
Robot bodies (neutral) |
Robot-Body-Runnable |
Robots runnable in PhysX |
Robot-Body-Isaac |
Robots for Isaac Sim |
β οΈ Profile names are case-sensitive.
Read your profile's authoring guide:
nv_core/sr_specs/docs/profiles/<profile-name>.md
See formal definitions:
nv_core/sr_specs/docs/profiles/profiles.toml
Study sample assets:
sample_content/common_assets/robots_general/ and props_general/
Step 3: Install the SDK
Install the simready CLI from the public SimReady OEM SDK distribution.
pip install simready-oem-sdk
Avoid Anaconda β it causes USD DLL conflicts. The packaging spec is summarized in Step 4 below.
Step 4: Package Your Assets
Follow the SimReady packaging specification (summarized below). Required structure:
<asset_name>/
βββ <asset_name>.usd β Interface file (validate THIS)
βββ configuration/
β βββ <asset_name>_base.usd
β βββ <asset_name>_physics.usd
β βββ <asset_name>_sensor.usd
βββ .thumbs/256x256/
βββ <asset_name>.usd.png β 256Γ256 thumbnail (REQUIRED)
Embed profile metadata in your interface file's customLayerData. See your profile's authoring guide under nv_core/sr_specs/docs/profiles/<profile-name>.md in the NVIDIA/simready-foundation repo for full details.
Step 5: Validate & Fix
simready validate ./my_asset/my_asset.usd --profile Robot-Body-Runnable
simready fix list # see available auto-fixes
simready fix apply <fix_name> ./my_asset
Iterate until all checks pass. For a hosted run that doesn't require local installation, use the Validator tab on this Space.
Step 6: Generate a Validation Receipt
simready validate ./my_asset/my_asset.usd --profile Robot-Body-Runnable --receipt
Creates .simready/validation.json β required for submission.
Step 7: Package with WRAPP (Optional)
wrapp create my_asset 1.0.0 ./my_asset --repo s3://your-bucket/assets
WRAPP is from NGC, not pip.
Step 8: Create Manifest & Pre-flight
simready manifest init my_company --email team@company.com
simready manifest add my_company ./my_asset
simready manifest validate my_company # must pass before submission
Step 9: Submit Merge Request
simready submit my_company
git checkout -b submission/my_company-q2-2026
git add . && git commit -m "Submit assets" && git push origin HEAD
Open a PR targeting main. Include your manifest + asset directories with receipts.
Further Reading
- NVIDIA/simready-foundation β public specs, profile authoring guides, sample assets
- WRAPP on NGC β packaging tool
- Git LFS β required for the foundation repo's binary assets