Important
We have just released a bundle of packages that provide Unity's next generation USD support. These supersede this package and are available for Unity 2023.1+. Further details can be found in our forum announcement.
The new packages can be installed by name via Unity's Package Manager.
Package name | What it does | Further Details |
---|---|---|
com.unity.importer.usd | USD Import | manual |
com.unity.exporter.usd | USD Export | manual |
com.unity.usd.core1 | USD C# SDK | manual |
1. Please note com.unity.usd.core is installed automatically when either the importer or exporter are installed. You only need to install this by name if you are not using either import or export.
This repository contains the source code for the com.unity.formats.usd
package. It includes a set of libraries designed to support the use of USD in C#, as well as code to import and export USD files into the editor. The goal of this package is to make it maximally easy to integrate and explore Universal Scene Description.
Animal Logic's ALab USD Sample in the Unity Editor.
For full documentation of this package, including usage, see the package docs.
The following is a brief listing of currently supported features:
- Importing and exporting USD:
- Import as GameObject, Prefab, or Timeline Clip
- File formats: .usd, .usda, .usdc, .usdz
- Export Game Objects to USD
- File formats: .usd, .usda, .usdc, .usdz
- Export of Transform Overrides
- Export via Recorder package
- Import as GameObject, Prefab, or Timeline Clip
- Composition:
- Variant Selection
- Payloads
- Load All and Individual
- Layer stacks
- Geometry:
- UV Set
- Vertex Colour
- Instancing:
- Point Instancing
- Scenegraph Instancing
- Primitive Types:
- Meshes:
- Arbitrary Primvars
- Vertex Colors
- Materials:
- Standard Shader and Limited HDRP and URP Support
- Meshes:
- Cameras
- Lightmaps:
- Automatic Lightmap UV Unwrapping
- Animation:
- Timeline Playback:
- Skeletal Animation via USDSkel
- Animated Meshes
- Timeline Recording Track via Unity Recorder Package
- Timeline Playback:
- General:
- High and Low Level Access to USD API via C#
We do not currently support the following:
- Apple Silicon (MacOS users must use Intel Editor)
- Geometry:
- Multiple UV Sets
- Importing mesh UVs for a prim without a material attached
- Composition:
- Purposes
- Primitive Types:
- Camera
- We do not currently import and export all physical camera settings
- Materials:
- Transparency Settings eg Alpha Clipping, Double Sided are not imported for HDRP and Built in (these can be set manually)
- Imported maps override imported single values, eg presence of ColorMap will stop single Color being imported, same for Smoothness/ Roughness.
- Lights
- Camera
- Animation:
- Blend Shapes
- General:
- Custom prims
Due to conflicting USD plugins, this package may have unexpected errors when installed side-by-side with NVidia's Omniverse Connector package.
The USD Unity SDK is licensed under the terms of the Apache license. See LICENSE for more information.
See CONTRIBUTING.md
See BUILDING.md