shadergraph-editor_skill

This skill guides manual editing of USD ASCII shader graphs for RealityKit, enabling you to create, connect, and troubleshoot materials and bindings.
  • Python

40

GitHub Stars

2

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill tomkrikorian/visionosagents --skill shadergraph-editor

  • .DS_Store10.0 KB
  • SKILL.md6.7 KB

Overview

This skill helps you create, edit, and troubleshoot ShaderGraph and RealityKit material networks directly inside USD ASCII (.usda) files. It focuses on defining Material prims, adding Shader nodes, wiring connections, and binding materials to geometry for visionOS and RealityKit workflows. Use the included sample graphs as starting points when applicable.

How this skill works

Open a .usda file and locate or create a def Material block. Add a surface Shader that drives outputs:surface, then add Shader node prims (textures, math, noise, primvar readers) and link them using .connect syntax. Set constant inputs for unconnected ports and add rel material:binding on mesh prims to attach materials to geometry. When a requested effect matches a sample, start from that sample and adapt it.

When to use it

  • Building or iterating custom materials for RealityKit in USD ASCII format
  • Manually debugging broken material graphs, missing outputs, or bad info:id values
  • Creating complex node networks not supported by exporters or tools
  • Adapting a sample shader effect to your asset paths and parameters
  • Applying material bindings to specific mesh prims or hierarchies

Best practices

  • Always check samples/ first and adapt the closest example instead of starting from scratch
  • Ensure outputs:surface.connect is present on each Material and that connect paths target valid outputs
  • Verify info:id values match the target renderer (UsdPreviewSurface vs RealityKit identifiers)
  • Use PrimvarReader when mapping UV textures and confirm the mesh UV set name
  • Keep asset paths consistent when copying samples (update external textures and referenced USDZ paths)

Example use cases

  • Create a red PBR material by defining a UsdPreviewSurface shader with diffuseColor, roughness, and metallic inputs
  • Map an albedo texture using UsdUVTexture plus a PrimvarReader connected to the surface shader
  • Build a Fresnel rim glow by adapting the Fresnel sample and tuning color and falloff parameters
  • Implement animated effects like lava or dissolve by copying the animated sample and updating time/noise parameters
  • Fix broken graphs by checking .connect targets, missing outputs, and mismatched info:id strings

FAQ

Confirm the target shader declares the named output and the relative path is correct; ensure the output token exists and is spelled exactly.

Which info:id should I use for RealityKit?

Use RealityKit-specific identifiers (for example ND_realitykit_unlit_surfaceshader) when exporting or targeting RealityKit; fallback to UsdPreviewSurface for generic PBR.

How do I bind a material to a mesh?

Add rel material:binding on the mesh prim pointing to the Material prim (rel material:binding = </path/to/Material>).

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational