binding-materials

Bind materials to geometry prims via material:binding relationships in USD scenes.

201|25|Updated Dec 18, 2025
One-click install
npx skills add https://github.com/NVIDIA-Omniverse/ovrtx --skill binding-materials
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: binding-materials
Source: https://github.com/NVIDIA-Omniverse/ovrtx/tree/main/.agents/skills/binding-materials
Command: npx skills add https://github.com/NVIDIA-Omniverse/ovrtx --skill binding-materials

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Binding materials to prims at runtime eases on-the-fly visual updates in USD scenes, enabling dynamic material assignment, changes, or swaps without recompiling assets.

Core Features & Use Cases

  • Identify geometry prims and target material prims in a loaded USD stage.
  • Write the material:binding relationship so a geometry prim binds to an absolute material path.
  • Supports runtime updates via USD, Python, or C/C++ runtime APIs.
  • Typical use cases include changing appearance during exploration, swapping materials for variants, or applying sensor-facing textures.

Quick Start

Identify the geometry prims in your USD scene and apply a target material via the material:binding relationship on the geometry prim.

Frequently Asked Questions about binding-materials

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

FAQPage Schema
How do I bind materials to USD prims at runtime?

To bind materials to USD prims at runtime, write the material:binding relationship to geometry prims using absolute material paths via Python or C/C++ runtime APIs.

Can I swap materials on geometry prims without recompiling USD assets?

Yes, binding materials at runtime enables dynamic material assignment and swapping on geometry prims in loaded USD stages without recompiling assets.

How does the material:binding relationship work in Omniverse USD scenes?

The material:binding relationship links a geometry prim to an absolute target material prim path, ensuring runtime visual updates apply correctly within the USD stage.

What is the best way to apply sensor-facing textures to USD geometry at runtime?

Applying sensor-facing textures at runtime involves identifying target geometry prims and writing the material:binding relationship to bind absolute material paths via Python APIs.

Do I need Python APIs to change material variants on USD prims dynamically?

No, you can change material variants dynamically by writing the material:binding relationship to geometry prims using either Python APIs or C/C++ runtime helpers.

Why use absolute prim paths when binding materials to geometry in USD?

Using absolute prim paths when writing the material:binding relationship ensures the geometry prim correctly targets the intended material prim for reliable runtime updates.