Omniverse Connect SDK

A devkit for building Omniverse Connectors.

Mission

The Connect SDK adds a foundational layer in the Omniverse Platform which engineers across all industries can use to improve their USD authoring capabilities for interoperability with Omniverse and the wider OpenUSD ecosystem.

Goals

  • Make it easy for Connectors to author consistent and correct USD data without having to understand all aspects of the OpenUSD API.

  • Coalesce common Connector patterns, apply formal API design & review, and guarantee consistency with thorough automated test suites.

  • Leverage & extend existing Omniverse products wherever possible (e.g. OpenUSD, Carbonite, Client Library).

  • Simplify, without obfuscating, the various Omniverse & OpenUSD APIs required to author a Connector.

  • Enable quick ramp up to bring new Connectors to a v1 prototype.

  • Provide consistent multi-language APIs & cross-platform libraries.

    • Our current priorities are C++ & Python APIs on x64 based Windows & Linux.

Components

Connect SDK provides the following components:

  • A public C++ API

  • A suite of cross-platform, dynamic shared libraries implementing the API

  • A suite of Python modules exposing and expanding on the public API from the shared libraries

  • A TOML based configuration system for customizing runtime behavior of the libraries & modules.

  • A suite of Build & CI/CD dev tools to help bootstrap & maintain Connectors

Note

Connectors needing pure C or C# interfaces should develop their own abstraction on top of the Connect SDK C++ APIs.

To learn more about these components, see Connect SDK Component Details

Getting Started

To start using Connect SDK in an existing connector, or to bootstrap a new Connector, see Getting Started with Connect SDK

Authoring USD

The Connect SDK makes it easy to author consistent and correct USD data without having to understand all aspects of the OpenUSD API, see Authoring USD with Connect SDK for more information.

Downloading or Building

We provide precompiled binaries of Connect SDK, as well as all NVIDIA proprietary and Open Source dependencies required to compile, link, and run a Connector that uses Connect SDK. Additionally, Connect SDK can be made source available and is licensed for modification & re-distribution (see our License Notices).

To download the precompiled Connect SDK binaries and all the necessary dependencies:

  • Download or clone the Connect Samples GitHub repository

  • Navigate to your local Samples directory and build the Samples

  • Run ./repo.sh install_sdk or .\repo.bat install_sdk to download & assemble the Connect SDK runtime requirements into a dedicated folder.

For more details on choosing build flavors & features, or different versions of the SDK, see the repo_install_sdk documentation.

If you have source access to the Connect SDK and would like to modify it, or build it against your own OpenUSD distro, see CONTRIBUTING.md to learn about building from source.

External Support

First search the existing GitHub Issues to see if anyone has reported something similar.

If not, create a new GitHub Issue explaining your bug or feature request.

  • For bugs, please provide clear steps to reproduce the issue, including example failure data as needed.

  • For features, please provide user stories and persona details (i.e. who does this feature help and how does it help them).

Whether adding details to an existing issue or creating a new one, please let us know what companies are impacted.