Extension: omni.usd.schema.omnigraph-1.0.1 |
Documentation Generated: Nov 13, 2025 |
Overview#
omni.usd.schema.omnigraph provides USD schema definitions for OmniGraph objects. This extension defines the structured format for storing OmniGraph graphs, nodes, and their properties within USD files, enabling OmniGraph data to be serialized, loaded, and shared across different sessions and environments.
Key Components#
Core Graph Schema#
OmniGraph serves as the base schema for OmniGraph primitives, containing essential graph settings that control evaluation behavior and execution characteristics. It manages graph-level configurations including evaluation modes (Automatic, Standalone, Instanced), evaluator types, and pipeline stage assignments.
OmniGraphAPI constructs an API interface on USD prims to establish relationships with OmniGraph target graphs. This schema enables USD prims to reference and trigger evaluation of specific graphs through the omniGraphs relationship.
Node Schema Classes#
OmniGraphNode defines the base schema for individual OmniGraph nodes, storing fundamental node properties including the node type identifier and version information for backward compatibility.
OmniGraphNodeType serves as an abstract base class for USD-defined node types, providing metadata structure for node categorization, descriptions, namespacing, and UI presentation.
OmniGraphCompoundNodeType and CompoundNodeType_1 represent compound node types that reference external graphs as their implementation. Version 1 specifically uses InputDefAPI and OutputDefAPI schemas for defining input/output interfaces.
Port Definition APIs#
InputDefAPI and OutputDefAPI are multiple-apply API schemas that define attribute definitions for input and output ports on compound nodes. These schemas specify the structure and properties of attributes that will be generated when compound nodes are instantiated, including data types, descriptions, UI hints, and connection relationships.
CompoundNodeAPI applies to OmniGraphNode prims to indicate compound container behavior, establishing relationships to implementation graphs and specifying compound types (subgraph, function, or nodetype).
Functionality#
The schema system enables complete serialization of OmniGraph structures into USD format, preserving:
Graph evaluation settings and execution parameters
Node type definitions with versioning support
Input/output port specifications with type information
Compound node relationships and implementations
UI metadata for proper display and interaction
Usage Examples#
The extension provides utility functions for applying and removing OmniGraph schemas:
from OmniGraphSchemaTools import applyOmniGraphAPI, removeOmniGraphAPI
# Apply OmniGraphAPI to a USD prim
applyOmniGraphAPI(prim)
# Remove OmniGraphAPI from a USD prim
removeOmniGraphAPI(prim)
Relationships#
This extension depends on omni.usd.libs for core USD functionality and schema registration. The schemas integrate with the broader USD ecosystem, allowing OmniGraph data to participate in USD’s composition, layering, and referencing systems. The extension loads early in the initialization sequence to ensure schema availability for other OmniGraph-related extensions.