Implementation status(v0.9.0)

June 17, 2025 ยท View on GitHub

  • โœ… = Supported.
  • โ• = Partially supported or has limitation.
  • ๐Ÿšง = Work in progress.
  • empty cell = not yet supported.

NOTE: TinyUSDZ API is subject to change NOTE: USDC(Binary) = Read only

Core features

  • Robust USDA ASCII parsing(No segfault for corrupted input)
  • ASCII export
  • Robust USDC parsing(No segfault for corrupted input)
  • Robust USDZ parsing(No segfault for corrupted input)
  • Tydra: Vulkan/OpenGL friendly scene graph conversion
  • Basic USD composition support.
  • JS/WASM support
    • Supports loading USDA/USDC/USDZ
    • Supports basic composition.
    • UsdPreviewSurface is converted to Three.js MeshPhysicalMaterial

Generic Prim types

typeAsciiUSDCComment
Modelโœ…โœ…def with no prim type
Scopeโœ…โœ…no-op prim

Geometry(usdGeom)

typeAsciiUSDCComment
Xformโœ…โœ…
Meshโœ…โœ…
GeomSubsetโœ…โœ…Supports 'point' type
Pointsโœ…โœ…
Cubeโœ…โœ…
Cylinderโœ…โœ…
Sphereโœ…โœ…
Capsuleโœ…โœ…
Coneโœ…โœ…
BasisCurvesโœ…โœ…for hair/fur
NurbsPatch
NurbsCurvesโœ…โœ…
HermiteCurves
PointInstancerโœ…โœ…

Camera(usdGeom)

typeAsciiUSDCComment
Cameraโœ…โœ…

Lights(usdLux)

typeAsciiUSDCComment
DistantLightโœ…โœ…
DiskLightโœ…โœ…
RectLightโœ…โœ…
SphereLightโœ…โœ…
CylinderLightโœ…โœ…
DomeLightโœ…โœ…
GeomtryLight
PortalLight
PluginLightLight shader
  • Light sets, light shaping, shadowAPI, LightFiler, etc are not supported yet.

Material, shader(usdShade, usdImaging plugin)

typeAsciiUSDCComment
UsdPreviewSurfaceโœ…โœ…
UsdUVTextureโœ…โœ…1.
UsdPrimvarReaderโœ…โœ…
  1. UDIM texture is not supported.

Skinning, BlendShapes(usdSkel)

typeAsciiUSDCComment
SkelRootโœ…โœ…Parsing only
Skeletonโœ…โœ…Parsing only
SkelAnimโœ…โœ…Parsing only
BlendShapeโœ…โœ…Supports inbetween blendshape attribute
  • Skeleton utility functions(e.g. build joint hiearchy from list of token[]) are provided in Tydra.

Work in progress

  • Custom filesystem handler(Asset Resolution)
  • Composition(VariantSet) syntax
    • Nested variant
    • VariantSet Ascii parse
    • VariantSet Ascii print
    • VariantSet Crate parse
    • VariantSet(SpecTypeVariant) Crate write
  • USDC serialization
  • Skinning evaluation/validation
  • Tydra(scene/render delegation)
  • usdObj(wavefront .obj) support.
  • C-API for other languages
  • Python binding and package.
  • Composition Arcs
    • Parsing some Composition Arcs possible, needs more testing/validations.
    • subLayers
    • references
    • payloads(delayed load)
    • variants/variantSets
    • specializers(priority is low)

TODO

  • Performance optimization
  • UDIM texture
  • MeshLight(GeometryLight)
  • Collection API
    • e.g. Light Sets
  • Delayed load of Layer/Stage
  • Instancing
  • Volume(usdVol)
  • Audio(usdAudio)
  • MaterialX support(usdMtlx)
  • Physics(usdPhysics)
  • and more...

EoL.