- Home
- Skills
- Tomkrikorian
- Visionosagents
- Shadergraph Editor
shadergraph-editor_skill
- 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>).