Overview #
Toolbag supports the Universal Scene Description (*.usd) file format, an open-source, hierarchical scene description format designed to be a universal interchange format for 3D content creation workflows. USD support allows efficient and accurate exchange of 3D data across Toolbag scenes and other 3rd party software packages.
The USD format is widely used in the film, animation, and visual effects industries to streamline production pipelines and facilitate collaboration between artists and studios. Its support for physically based rendering (PBR) workflows allows users to maintain the accuracy of their materials between 3D applications.
The USD file format includes a few extension variations:
- .usd, ASCII or binary-encoded
- .usda, ASCII encoded
- .usdc, binary encoded
- .usdz (not currently supported), a package file that is a zero-compression, unencrypted zip archive.
You can review the full file format specification here: https://openusd.org/release/
Scene Objects #
Scene Object | Import | Export | Notes |
---|---|---|---|
Mesh | ✅ | ✅ | Toolbag does not recognize point clouds or any of the curve types. |
Material | ✅ | ✅ | Toolbag only supports USDPreviewSurface, USD’s basic material definition standard. MDL and MaterialX are not currently supported. |
Light | ✅ | ✅ | Only Point, Spot, and Directional light types are supported. |
Camera | ✅ | ✅ | All Toolbag camera settings are maintained when exporting to USD and re-importing to Toolbag. When USD files are imported/exported between Toolbag and other 3D applications, only the Lens section of camera settings is read. |
Texture Project | ❌ | ❌ | |
Bake Project | ❌ | ❌ | |
Shadow Catcher | ✅ | ✅ | Import of this object type is only supported with USD files written by Toolbag. |
Turntable | ✅ | ✅ | Import of this object type is only supported with USD files written by Toolbag. |
Backdrop | ✅ | ✅ | Import of this object type is only supported with USD files written by Toolbag. |
Fog | ✅ | ✅ | Import of this object type is only supported with USD files written by Toolbag. |
Groom | ❌ | ❌ |
Mesh Data #
Mesh Data | Import | Export | Notes |
---|---|---|---|
Animation | ❌ | ❌ | |
Normals | ✅ | ✅ | |
UVs | ✅ | ✅ | |
Vertex Color | ✅ | ✅ | |
N-Gons | ✅ | ✅ | |
Sub-D | ✅ | ✅ | Toolbag’s subdivision settings will be saved to USD to import into another Toolbag scene during export. If exporting mesh data for import to a third-party application, enable ‘Apply Subdivisions’ in your USD export settings. |
Displacement | ✅ | ✅ | Displacement data will be saved to USD for re-import to another Toolbag scene during export. If exporting mesh data to a 3rd party application, enable ‘Apply Displacement’ in your USD export settings. |
Export Options #
To export to USD, select the menu option: File -> Export….
To export only a portion of your scene, make object selections in your Scene list, then select: File -> Export Selected…

USD Known Issues #
The USD format is robust and flexible; however, there are inherent limitations you may encounter in your production pipeline due to differences in how each software application has chosen to integrate support for USD. There is a mix of Toolbag-specific features unsupported by the USD specification and features that may be wholly unsupported or have limited support in other applications.
Materials #
Shading Models
USD support in Toolbag currently only supports USDPreviewSurface, USD’s basic material definition standard. This supports the most common map types like albedo, roughness, and metalness. However, some map types and shading models do not transfer to other applications and may need to be manually configured by the user.
Supported by USDPreviewSurface, but import results in other apps may vary:
- Clearcoat
- Displacement
- Note: Blender does not apply displacement when importing materials. It is possible to configure this in the node graph manually.
Unsupported by USDPreviewSurface:
- Subsurface Scattering
- Refraction
- Anisotropic Reflections
- Specular
- Gloss
Proprietary Toolbag shading types will also not be supported when importing into other applications. There is a low likelihood that support for the following shading models will be added to Toolbag’s USD support:
- Vector Displacement
- Parallax
- Detail Normals
- Vertex Color
- Thin Surface
- Advanced Metalness
- Newton’s Rings
- Heat
- Fluorescent
Tinted Textures
If a material is configured to use a texture, and also a color tint or modification to a slider value in the material, Toolbag will export these properties, however, certain applications may not read them.
- Blender and Unreal will not import color values if textures are present.

Normal Map Orientation
Toolbag writes the normal map orientation (left- or right-handed) variable into USD files, but other applications may not read or apply it correctly.
- Unreal appears to assume normal maps are always left-handed, so it may be necessary to manually flip the green channel in the texture properties.
Channel Packed Materials
When importing a material with channel-packed textures, aka mixmaps, where various maps are packed into the image’s R, G, and B channels, third-party applications may not configure the material correctly.
Blender – the mixmap image will be loaded directly into the texture slot as a full-color image.

To correct this, the user will need to add a Separate Color node in the material node graph and hook the texture up to the appropriate inputs. This is equivalent to our channel selection options for various slots in the material editor:

MDL & Material X
These material definition formats are currently not supported in Toolbag. For material transfer, USDPreviewSurface should be used.
Lighting & Rendering #
Tone Mapping Differences
Applications have different options for tone mapping rendered images, and some default to different settings, making testing and verifying the correctness of lighting and material properties difficult.
- Marmoset Toolbag – the default output is Linear, which applies no tone mapping.
- When changing tone mappers, you may also need to adjust camera exposure.
- When switching to ACES, the render gets darker, so it is recommended to use an exposure value of 2.0.
- Other applications may or may not make an exposure adjustment automatically.
- Omniverse USD Composer (formerly OV Create) – The default is ACES. There are other options available.
- Unreal Engine 5 – The default is ACES as well.
- Blender – There is a filmic tone mapper that defaults to a low-contrast look. Changing this to the High Contrast preset appears to roughly mimic ACES.
Light Brightness & Units
Toolbag writes light brightness values in lux, as the USD format specifies. Light brightness should export and import faithfully with applications that work with lux or convert lux to their internal light units.
- Blender uses watts, which can cause problems with light brightness. In Blender’s USD import options, there is a light scale value; however, this value also affects sky and directional lights, so it may not be appropriate for correcting light brightness issues. It may be necessary to adjust the brightness for individual lights instead.
Light Rendering Differences
Differences in rendering techniques may result in mismatches when transferring lighting setups applications.
- Omniverse USD Composer (formerly Omniverse Create) – Three rendering modes are available: Real-Time, Interactive, and Accurate. Currently, only the Accurate mode displays the correct light brightness in various scenes. Accuracy varies depending on the scene and light setup when using the other modes.
- [look into what happens in max, maya, unreal. Add mentions here as we discover them]
Spot Lights
Spot lights are not supported as part of the USD spec. Instead, spot lights are written as disk lights. How well this light type matches Toolbag’s spot lights may vary depending on support in the corresponding application.
- Blender does not export spot lights. The light type is set to Area/Disk on import of spot lights. This can be changed manually to Spot, but the area shadows will be incorrect. The radius must be adjusted by eye to match the result in Toolbag.
Sky Lights
- Unreal doesn’t support EXR files, which is the format Toolbag uses to export sky box panoramas for use in other applications. These files will need to be converted to HDR and manually loaded for use in Unreal.
- Unreal doesn’t appear to import sky light rotation correctly. Source Cubemap Rotation should be edited by -90 degrees.
Meshes #
Animation
Animation data is currently unsupported in Toolbag. Animated meshes may import as static or fail to import.
Subdivision Not Applied
Subdivision settings are written as per the USD standards; however, it may not reliably work or be applied in various applications.
- Blender – a Subdivision Surface Modifier needs to be applied
- Omniverse USD Composer – the sub-d level (“Refinement” in their UI) doesn’t appear to get set
Cameras #
- The camera’s angle of view may differ when transferring between various applications. This may depend on the render resolution and filmback settings.
- Unreal – when rendering with a 16:9 aspect ratio, multiplying the Current Focal Length value by 0.844x and setting Filmback to 16:9 DLSR appears to match well. Different aspect ratios may require different settings.
- If DOF is disabled in Toolbag, the camera may import with inappropriate settings.
- Unreal – Focus Method will be set to Manual, which may cause the image to be out of focus. Setting Focus Method to Do Not Override or Disable may resolve this.
File Referencing #
Currently, Toolbag does not support referencing or nesting of USD files from other USD files. USD files that reference other files may fail to import all of the content as expected.