Technical Overview

The usd-resolver repository is a set of core USD plugins that interact with Omniverse Nucleus through client-library. The plugins in this repository do share a few common utilities when interacting with client-library but they are in-fact separate plugins.

OmniUsdResolver

OmniUsdResolver is an ArResolver plugin used to resolve assets within Omniverse. With usd-resolver supporting numerous different flavors and versions of USD, OmniUsdResolver has both a Ar 1.0 implementation and a Ar 2.0 implementation. In this documentation OmniUsdResolver (Ar 1.0) will refer to the Ar 1.0 implementation and OmniUsdResolver (Ar 2.0) will refer to the Ar 2.0 implementation

OmniUsdResolver Overview

OmniUsdWrapperFileFormat

A SdfFileFormat plugin whose sole purpose is to “wrap” other SdfFileFormat plugins to fix the process of reading / writing USD layers to / from Omniverse.

This SdfFileFormat plugin is only used for OmniUsdResolver (Ar 1.0). Since the same “plugInfo.json” is used to declare the OmniUsdResolver plugin for Ar 1.0 and Ar 2.0, the OmniUsdWrapperFileFormat will be accessible by PlugRegistry for Ar 2.0 builds of usd-resolver but will not be used.

OmniUsdWrapperFileFormat Overview

OmniUsdLiveFileFormat

The OmniUsdLiveFileFormat is a SdfFileFormat plugin that represents “live” layers. Internally, this iteration of the plugin is referred to as “live v1”.

OmniUsdLiveFileFormat Overview

OmniUsdLiveFileFormat (Multi-threaded)

This OmniUsdLiveFileFormat is also a SdfFileFormat plugin that represents “live” layers. As the title suggests, this iteration of the plugin was re-written to improve performance in multi-threaded environments and is referred to as “live v2”

OmniUsdLiveFileFormat (Multi-threaded) Overview