Skip to content

NVIDIA/simready-foundation

SimReady Foundation

Getting the repository

This repository uses Git LFS to track binary and USD asset files (.usda, .usdc, .usd, .usdz, images, and others). You must have Git LFS installed before cloning, otherwise those files will check out as tiny pointer files instead of the real content.

1. Install Git LFS (once per machine)

Windows (PowerShell)
winget install GitHub.GitLFS

If winget is not recognized, run these first:

Add-AppxPackage -RegisterByFamilyName -MainPackage "Microsoft.DesktopAppInstaller_8wekyb3d8bbwe"
Install-Module -Name Microsoft.WinGet.Client -Force -Repository PSGallery
Repair-WinGetPackageManager
Linux (Ubuntu / Debian)
sudo apt-get install git-lfs

After installing, run the one-time setup:

git lfs install

2. Clone the repository

git clone https://github.com/NVIDIA/simready-foundation.git
cd simready-foundation

Git LFS files are fetched automatically during clone when git lfs install has been run. If you already cloned without LFS, pull the real file contents with:

git lfs pull

3. Verify LFS files

You can confirm that LFS-tracked files were downloaded correctly:

git lfs ls-files

If any files still show as pointer files, re-run git lfs pull.

Environment setup

4. Install Python

The product requires Python >=3.10,<3.13 (Python 3.12 recommended).

Windows

Download from python.org/downloads and run the installer. Check "Add Python to PATH" during installation. If you already have multiple Python versions, you can use the py -3.12 launcher.

Linux (Ubuntu / Debian)
sudo apt-get install python3.12

Verify the installation:

python --version

5. Create a virtual environment

Important

Use a dedicated virtual environment for SimReady validation. The simready-validate tool and its dependencies (omniverse-asset-validator, usd-core) can conflict with other packages. A clean venv avoids hard-to-debug import errors.

Windows (PowerShell)
python -m venv .venv
.venv\Scripts\activate
Linux
python -m venv .venv
source .venv/bin/activate

6. Install dependencies

From the repository root, install the SimReady validation library:

pip install -r nv_core/validator_sample/requirements.txt

This installs simready-validate (which pulls in omniverse-asset-validator and usd-core) and omniverse-usd-profiles.

You're now ready to go. See Next steps for guides on validation, profiles, and more.

About SimReady Foundation

SimReady Foundation defines guidelines and requirements for OpenUSD content so that assets work reliably across rendering, simulation, robotics, and AI training workflows within NVIDIA Omniverse.

The framework is built around a layered hierarchy:

Layer Purpose Example
Requirement A single, testable rule an asset must satisfy "The stage must define a default prim" (SAMP.001)
Capability A category that groups related requirements Sample (SAMP), Visualization/Geometry (VG), Units (UN)
Feature A set of requirements that together describe a queryable property of an asset Minimal Placeable Visual, RBD Physics, Driven Joints
Profile A bundle of features that defines what an asset must satisfy for a given use case Prop-Robotics-Neutral, Robot-Body-Isaac

Profiles

Profiles are the top-level contracts between asset creators and consumers. Each profile targets a specific simulation scenario and lists the features (and their versions) that an asset must pass. Production profiles in nv_core/sr_specs/ include:

Profile Description
Prop-Robotics-Neutral Neutral-format props suitable for robotics pipelines
Prop-Robotics-Physx Props with PhysX rigid-body physics
Robot-Body-Neutral Neutral robot body with physics
Robot-Body-Runnable PhysX robot body, runnable in simulation

Use cases

  • Static validation — check USD assets against a profile's requirements using the simready-validate CLI or the simready.validate Python API.
  • Asset transformation — convert assets between profiles (e.g. Neutral to PhysX to Isaac).
  • CI / CD — automate validation in Jenkins or local runners.

Where the specs live

The full SimReady specifications—capabilities, features, profiles, and guides—are in nv_core/sr_specs/docs/.

Next steps

Once you have the environment set up, explore the guides in nv_core/sr_specs/docs/guides/:

Guide Description
SimReady Validation Workflow Run your first validation — commands, expected output, stamping, and troubleshooting
Getting Started Orientation — who SimReady is for, choosing a profile, and where to go next
SimReady Acceptance Workflow How new requirements, features, and profiles move through review
Features Expansion Workflow Create technology-specific feature variants (e.g. neutral to PhysX)
Profiles Validation Workflow Create, version, and validate assets against profiles
Naming Conventions Asset and prim naming standards

Agent skills

Repo-local agent skills live under skills/<skill-name>/SKILL.md at the repository root. The .agents/skills, .codex/skills, and .claude/skills compatibility links point back to ../skills, so update the skills/ source of truth first.

Use the skills as the first stop when an agent is asked to add, update, validate, package, or conform SimReady content. The guides in nv_core/sr_specs/docs/guides/ remain the source of conceptual workflow detail; the skills turn that guidance into repeatable agent procedures.

Skill categories:

  • simready-foundation-add-*: Add new Foundation surfaces such as capabilities, requirements, validators, features, profiles, feature adapters, and runtime tests.
  • simready-foundation-update-*: Update existing Foundation surfaces while preserving versioning, profile compatibility, and published behavior.
  • simready-foundation-conform-fet-*: Repair or assess USD assets for a specific feature gate, such as FET000 core, FET003 rigid-body physics, FET004 multibody physics, or FET006 materials.
  • simready-foundation-create-package: Create SimReady packages with the bundled package-sample workflow, including WRAPP setup, root USD inputs, validation phases, and no-WRAPP fallback modes.
  • simready-foundation-validate-foundation-change: Audit a Foundation change for consistency across requirement docs, validators, feature manifests, profile TOML, profile markdown, indexes, and related skills.

How skills relate to the spec:

  • Capabilities and requirements live under nv_core/sr_specs/docs/capabilities/.
  • Features live under nv_core/sr_specs/docs/features/ and bundle exact requirement IDs and dependencies.
  • Profiles live under nv_core/sr_specs/docs/profiles/ and pin exact feature versions.
  • Add/update skills help maintain those spec files.
  • Conform skills help staged USD assets pass, skip, or block on feature-specific validation gates.

When adding or changing a feature, also update the matching conform skill when the feature can produce asset-level validation failures. If a feature cannot be safely repaired by an agent, document that limitation in the feature workflow and validation summary.

Bundled helper resources live under each skill's assets/ directory. Current skills use assets/openai.yaml for optional UI metadata and assets/scripts/ for deterministic helper scripts. The package workflow skill bundles assets/scripts/create_simready_package.py, setup_venv.sh, dependency requirements, and the sr_pkg_sample/ helper package.

Usage notes:

  • Read AGENTS.md and the relevant guide files before making SimReady spec changes.
  • Keep conform skills general. They should describe feature requirements and repair policy, not one-off behavior for a specific asset.
  • For optional or conditional profile features, conform skills should read the profile documentation before attempting repairs and should report skipped/not applicable when the profile allows it.
  • If full Omniverse/OAV validation is unavailable, run the narrower checks that are available and state the remaining validation gap.

About

SimReady Foundation is a central repository for defining simulation content specifications based on various runtime use cases.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors