Read
Parse layers, metadata, relationships, time samples, variants, and typed values.
Version 1.0.0 for Ruby 3.2+
Read, compose, edit, and write USDA and USDZ assets without native libraries. Built for pipeline automation, validation, conversion, and scene generation.
gem install openusd
no native build
/World <Xform>
/Camera <Camera>
/Model <Xform>
/Cube <Mesh>
A deliberately focused implementation of the formats and operations Ruby pipelines use most.
Parse layers, metadata, relationships, time samples, variants, and typed values.
Resolve authored sublayers and references with explicit missing-asset policies.
Create stages, prims, attributes, schemas, and deterministic USDA output.
Build and inspect aligned USDZ archives with path, CRC, and bounds validation.
The Ruby API follows OpenUSD vocabulary, so scene code reads like the asset it creates.
require "openusd"
stage = OpenUSD::Stage.create("scene.usda")
stage.define_prim("/World", "Xform")
cube = stage.define_prim("/World/Cube", "Cube")
cube.create_attribute("size", "double").set(2.0)
cube.create_attribute(
"xformOp:translate", "double3"
).set([0, 1, 0])
stage.save
Add OpenUSD asset tooling without compiling bindings or shipping a native runtime.
Get openusd on RubyGems