Shaderverse

Looks and source graphs

A Shaderverse look should be selected as a look json. That json should record the Shaderverse graph that authored it and the package files Roji needs.

Load a shot or asset for lookdev

  1. Create an Assembler node and add the .usd, .usda, or .usdc file you want to shade.
  2. Use the loaded stage as context for Material Assign targets, CEL expressions, collections, previews, and renders.
  3. Connect Assembler into Material Assign or a Merge branch before Shaderverse Out if the package needs scene-aware assignments.
  4. Save the file as a .sv graph so the source look remains editable after publishing.

Build, assign, publish, and read back

  1. Add Material nodes for the looks you need. Name them for the asset, character, prop, or surface they represent.
  2. Edit shader parameters, texture paths, MaterialX import/export, preview settings, and any animated values inside the Material node.
  3. Add Material Assign and target geometry with CEL, collections, or explicit paths from the loaded USD stage.
  4. Connect Material and Material Assign into Shaderverse Out, then Save Package.
  5. Use Shaderverse Read in Roji Graph to apply the package to a shot before Render or USDLive Bake.

Connect lookdev nodes clearly

  • Drag from an output handle to the next node's input handle. Downstream nodes only see connected upstream data.
  • Keep a readable main line: Assembler, Material or Material Assign, Shaderverse Out, optional Render or Bake.
  • Use Merge when several materials, assignment branches, or scene branches must feed one publish or render node.
  • Use Group, Super Group, and Backdrop to organize reusable material systems without changing the authored look.

Select the look json

  • Shaderverse Out: writes a look json and shader package into the project assets or looks folder.
  • Shaderverse Read: connects into the Roji graph so the look can flow downstream.
  • Source graph: the look json should store the Shaderverse graph path that created it.
  • Package files: shader files, the authored USD look, resolved bindings, source graph, and MaterialX sidecar should stay beside the look package.
Shaderverse workflow with six Material nodes connected to Material Assign and Shaderverse Out
Captured workflow: Six Material nodes feed Material Assign, then Shaderverse Out shows the package name, write folder, ready status, connected materials, and Save Package control.

Shaderverse writes MaterialX, Roji renders USD

Shaderverse is the editable source of truth. MaterialX is the interchange sidecar. Roji Render consumes the generated USD layer, where Shaderverse materials are authored as MaterialX/OpenPBR-style UsdShade networks.

  • Author: edit Material nodes in Shaderverse. The material graph keeps Roji layout, expressions, preview settings, and renderer-only controls.
  • Import/export: use Import .mtlx and Export .mtlx inside each Material node's Material Graph workspace for external look exchange.
  • Package: Save Package writes shaderverse_graph.sv, looks.authored.usda, optional looks.resolved.usda, and looks.mtlx.
  • Render: Roji Graph composes the USD layers from Shaderverse Read. Roji Render does not render the .mtlx file directly; it renders the generated USD material network.

Open the original Shaderverse graph

Open Shaderverse should launch Shaderverse first, then open the saved source graph. It should not create a new empty graph when a look already knows its source graph.

Real screenshot needed Shaderverse Read node in Roji Graph with a real selected look json and the Open Shaderverse control.

Keep readable node names

Copy paste between Roji Graph and Shaderverse should preserve names like Assembler and Manipulator, not only ids and versions.

Every Shaderverse node

NodeUse it forTypical connection
AssemblerLoad USD context for lookdev and assignment targets.First node when the look depends on a shot or asset stage.
MaterialAuthor shader graphs, material parameters, textures, procedural controls, and MaterialX exchange.Feed Material Assign or Shaderverse Out.
Material AssignAssign materials using live CEL rules, collections, or explicit targets.After Assembler and Material; before Shaderverse Out, Render, or Bake.
Shaderverse OutPublish the package json, source .sv, authored USD look, optional resolved USD, and MaterialX sidecar.End of the publish branch.
Shaderverse ReadRead a saved look package for round-trip testing or downstream use.Before Render or Bake when testing a package inside Shaderverse.
ManipulatorScene edits needed for lookdev context, visibility, attributes, lights, collections, and CEL scopes.After Assembler and before assignment, render, or publish checks.
OutlinerInspect the composed USD stage, prim paths, geometry, cameras, and lights.Attach wherever target paths need to be checked.
CreatorCreate lookdev helpers such as lights, cameras, preview geometry, volumes, and instance systems.After Assembler or on a side branch merged into preview/render.
WannabeExperimental candidate edits and quick ideas.Use in controlled branches; replace for production-critical looks.
TypeScriptScripted automation, validation, and repeated technical lookdev tasks.Anywhere scripted graph logic is needed.
MergeCombine several look, scene, or utility branches.Before Shaderverse Out, Render, Bake, or group output.
GroupPackage small reusable material or assignment networks.Use as a clean subgraph with clear input and output.
Super GroupPackage larger reusable lookdev systems.Use for department-level or sequence-level shader systems.
RenderPreview and render lookdev outputs with camera, AOV, quality, lightgroup, and output controls.After the look and assignment branch.
USDLive BakeWrite the live result to plain USD for external handoff.Last node when plain USD is required.
BackdropCanvas labels and organization.Layout only; does not affect material or scene data.
Group Input / Group OutputInternal group boundaries.Created inside grouped workflows.