USD Schema

Information about USD schemas can be found on confluence page: * Information about using USD schemas as an extension in Kit - https://confluence.nvidia.com/pages/viewpage.action?pageId=372037176#USD/Hydra-ReferenceandGettingStarted-OmniverseKitUSDextension * Information about how to setup a USD schema from scratch - https://confluence.nvidia.com/display/OMNIVERSE/USD+Schema+From+Scratch * Information about how to setup a USD schema from scratch using schemautils, including TC setup - https://confluence.nvidia.com/display/OMNIVERSE/USD+schema+from+scratch+using+schemautils * Information about basic guideline related to schema - https://confluence.nvidia.com/display/OMNIVERSE/USD+schema+guideline

USD Schema extensions

USD libraries are part of omni.usd.libs extension and are loaded as one of the first extensions to ensure that USD dlls are available for other extensions.

USD schemas itself are each in individual extension that can be part of any repository. USD schema extension is loaded after omni.usd.libs and ideally before omni.usd.

Schema extension contains pxr::Schema, its plugin registry and config.toml definition file. Additionally it contains a loading module omni/schema/_schema_name that does have python init.py file containing the plugin registry code.

Example: .. code:: python

import os

from pxr import Plug

pluginsRoot = os.path.join(os.path.dirname(__file__), ‘../../../plugins’) physicsSchemaPath = pluginsRoot + ‘/UsdPhysics/resources’

Plug.Registry().RegisterPlugins(physxSchemaPath) Plug.Registry().RegisterPlugins(physicsSchemaPath)