USD Core: USD v23.02 C# Bindings for Unity
Introduction
This package provides the core USD libraries and C# bindings for working with USD files. It does not provide any of the optional plugins or imaging features from the full USD distribution, and does not directly provide USD Import or Export functionality. It is visible as USD Core in the Package Manager window.
OpenUSD (Universal Scene Description) is a format developed by Pixar, intended for the interchange of 3D computer graphics data, collaborative editing, and designed to meet the needs of large-scale film and visual effects production. You can read more about the USD format on Pixar’s website.
This package is the base for the Unity USD Importer and USD Exporter packages. If you want to import USD files into Unity, or export USD files from Unity, you do not need to install this package manually. See Understanding the Unity USD Packages below.
You only need to manually install this package if you do not want to use Unity's USD Importer or Exporter packages, and instead want to write your own custom USD tools based on the USD Core C# Bindings provided in this package.
Requirements
- Windows / OSX / Linux
- Unity version: 2023.1 and up. For further details on systems requirements for Unity 2023 please see here.. Please note that forthcoming releases will follow our new naming scheme: Unity 6 Preview and Unity 6 (final LTS release).
Installing the Package
This package is automatically installed if you install either the USD Importer or USD Exporter packages.
To install the package, you must use the "Install By Name" option in the Package Manager window:
- Go to Window > Package Manager to open the Package Manager window.
- Click the Add (+) dropdown menu, and select "Install package by name..."
- Enter
com.unity.usd.core
into the text field that is displayed. - Click the Install button.
Understanding the Unity USD Packages
There are multiple USD packages available for Unity which each have different purposes. It's important to understand the differences so that you can use the correct one for your purposes.
Unity USD Importer (com.unity.importer.usd)
A new, officially supported package which provides import functionality from USD files into the Unity Editor. Based on the USD Core package.USD Exporter (com.unity.exporter.usd)
An experimental package which provides export functionality from the Unity Editor to USD files. Based on the USD Core package.USD Core (com.unity.usd.core) (This Package)
(Imported automatically when you import the Unity USD Importer or Exporter package). This package provides Unity’s officially supported C# bindings for the underlying C++ USD API, and determines which version of the USD format that Unity supports. To see which version of the USD format is supported, see the USD Core package's description in the Unity Editor's Package Manager window.Legacy USD Experimental Package (com.unity.formats.usd)
An older experimental package which provided import and export functionality, but has only legacy support, and will soon be deprecated. Unless you are already using the old experimental package in your project, you should use this new package (com.unity.importer.usd) to import USD assets into your project.
Samples
The USD Core package also includes samples to help you get started.
Use Package Manager to import the samples into your Assets folder :