lighttransport/LightUSD

LightUSD is a full-featured, dependency-free, lightweight USD library written in C++17

C++

725

6,340 commits

updated Sep 23, 2026

See the code

README

LightUSD

LightUSD is a full-featured, dependency-free, lightweight USD library written in C++17. It reads and writes USDA, USDC, and USDZ, and includes MaterialX and USD Physics support. (Previously known as TinyUSDZ)

LightUSD is designed for applications that need USD to be compact, portable, and fast: high-performance 3D interchange and DCC tools, render and asset pipelines, generative AI, and Physical AI systems that connect scene understanding with simulation and robotics. The same core runs across desktop, mobile, WebAssembly, and sandboxed environments, with explicit resource limits for untrusted assets. MCP interface provided.

GitHub Sponsors Ask DeepWiki PyPI version npm version

Releases

  • v1.0.0 RC (main)
    • Will be 26.09 or 26.10

Packages

Python:

python -m pip install lightusd
import lightusd

stage = lightusd.load("scene.usdz")
for prim in lightusd.traverse(stage):
    print(prim.type_name, prim.name)

See python/README.md for Python usage. WebAssembly and JavaScript packages live under web/.

Build

LightUSD requires a C++17 compiler and normally uses CMake:

cmake -S . -B build_ninja -G Ninja \
  -DLIGHTUSD_BUILD_TESTS=ON -DLIGHTUSD_BUILD_EXAMPLES=ON
cmake --build build_ninja
ctest --test-dir build_ninja --output-on-failure

See doc/build-and-examples.md for integration, build options, and examples.

Documentation

Security

Use USDLoadOptions::max_memory_limit_in_mb for unknown inputs. For hostile or internet-sourced assets, also isolate loading in a sandboxed process or WASI environment.

License

LightUSD is primarily licensed under Apache 2.0. Some helper code uses MIT or similarly permissive licenses. See LICENSE.3rdparty for third-party notices.

ar
dependency-free
universal-scene-description
usd
usdc
usdz

Contributors

syoyo

6,288 commits

rdeioris

14 commits

dimhotepus

10 commits

Twinklebear

5 commits

lighttransport/LightUSD

LightUSD is a full-featured, dependency-free, lightweight USD library written in C++17

C++

725

6,340 commits

updated Sep 23, 2026

See the code

README

LightUSD

LightUSD is a full-featured, dependency-free, lightweight USD library written in C++17. It reads and writes USDA, USDC, and USDZ, and includes MaterialX and USD Physics support. (Previously known as TinyUSDZ)

LightUSD is designed for applications that need USD to be compact, portable, and fast: high-performance 3D interchange and DCC tools, render and asset pipelines, generative AI, and Physical AI systems that connect scene understanding with simulation and robotics. The same core runs across desktop, mobile, WebAssembly, and sandboxed environments, with explicit resource limits for untrusted assets. MCP interface provided.

GitHub Sponsors Ask DeepWiki PyPI version npm version

Releases

  • v1.0.0 RC (main)
    • Will be 26.09 or 26.10

Packages

Python:

python -m pip install lightusd
import lightusd

stage = lightusd.load("scene.usdz")
for prim in lightusd.traverse(stage):
    print(prim.type_name, prim.name)

See python/README.md for Python usage. WebAssembly and JavaScript packages live under web/.

Build

LightUSD requires a C++17 compiler and normally uses CMake:

cmake -S . -B build_ninja -G Ninja \
  -DLIGHTUSD_BUILD_TESTS=ON -DLIGHTUSD_BUILD_EXAMPLES=ON
cmake --build build_ninja
ctest --test-dir build_ninja --output-on-failure

See doc/build-and-examples.md for integration, build options, and examples.

Documentation

Security

Use USDLoadOptions::max_memory_limit_in_mb for unknown inputs. For hostile or internet-sourced assets, also isolate loading in a sandboxed process or WASI environment.

License

LightUSD is primarily licensed under Apache 2.0. Some helper code uses MIT or similarly permissive licenses. See LICENSE.3rdparty for third-party notices.

ar
dependency-free
universal-scene-description
usd
usdc
usdz

Contributors

syoyo

6,288 commits

rdeioris

14 commits

dimhotepus

10 commits

Twinklebear

5 commits

Languages

C++

69.1%

JavaScript

19.2%

C

3.4%

Python

3.2%

Shell

1.6%

CMake

1.4%

HTML

1.3%