Omniverse Nucleus is the database and collaboration engine of Omniverse. With Nucleus, teams can have multiple users connected together live with multiple Client applications all at once. Client applications can be desktop (i.e., USD Composer or Autodesk Maya), as well as microservices - automated processes (rendering, content manipulation, and generation).
Within Nucleus, there are several components, each one communicating with
multiple others. The most important of those communications are shown
on the diagram with some lines are omitted for clarity. One example of such
an omission would be the
Tagging Service using
to generate a ticket for later communication with
Externally, some of those services expose API endpoints (open ports) for Clients to talk to them directly.
One notable feature is Caching - Clients can (and should) be configured to utilize at least one Cache to optimize downloads of heavy assets. Comprehensive information on Nucleus Cache can be found here.
Nucleus represents assets in a hierarchical, tree-like structure. To an end user it looks just like a familiar file tree, with directories and files within.
Files can be uploaded, downloaded, and moved; directories can be created, listed, deleted, and moved.
Nucleus utilizes a single file tree similar to typical file systems, with a “path” to a file being a forward-slash (
While any file types can be uploaded to Nucleus (users can upload anything to Nucleus as if it was a traditional file server), the most common data
formats used across Omniverse are
.usd (Universal Scene Description),
.mdl (Material Definition Library), various kinds of images (
.png), and similar.
At the center of Nucleus is its Core - a set of services for storing and retrieving data (files).
Nucleus Core is exposed to other parts of Omniverse via its API, over HTTP and Websockets connections.
On the Nucleus Server itself, it utilizes a data directory path configured by an administrator to store its data. It’s important to understand that this directory does not represent the actual file tree in Nucleus.
Nucleus Core consists of the following components:
Nucleus Core API Responder: the primary component exposing Nucleus Core API
Nucleus Core LFT (Large File Transfer) Service: in Enterprise deployments, exposes an HTTP endpoint for upload and download of files of larger sizes. (The LFT Service can be scaled to run more than one instance.)
In Enterprise Nucleus Server installations, Core includes extras for exposing metrics, processing and rotating logs, etc.
The Discovery service runs adjacent to Nucleus and enables other services to register and advertise themselves to Clients.
Auth and User Management Service
This service and its configuration and operation is explained in greater detail. Click here to learn more.
Nucleus bridge allows an Enterprise Nucleus Server to be linked with the GPU streaming features of Omniverse Cloud. By combining these powerful technologies, users are able to enjoy using Omniverse services powered by RTX streaming to their device through a web browser.
Click here to learn more about Nucleus bridge and how it’s configured.
Other services included in Nucleus are:
Search Service: indexes items in Nucleus, and provides API for searching them
Thumbnail Service: creates thumbnails for data formats it supports
Tagging Service: exposes API to allow users to tag files in Nucleus file tree
App Assumptions and Expectations
All Omniverse Client applications and components that connect to Nucleus make the following assumptions:
Nucleus Core API is available on port
Nucleus Discovery is available on port
If an Enterprise Nucleus Server is deployed using an
SSL/TLS gateway (ingress router), Clients will
make the following assumptions when told to connect to
host is the DNS hostname of the Nucleus Server):
If a port is specified when connecting, connections will be made via HTTPS and WSS on that host and port.
If no port is specified, an HTTP connection to port
80and HTTPS connection to port
443will be attempted. The former is necessary for supporting redirects.