What problem does it solve? Editing Unity Shader Graph assets programmatically is fragile because the Shader Graph package exposes no stable public API for graph mutation, forcing developers to hand-edit serialized assets or click through the editor for every node, connection, and blackboard property change. ## Core Features & Use Cases - Graph Creation and Inspection: Create Shader Graph and Sub Graph assets from package templates or blank fallbacks, then inspect live structure including nodeIds, slots, edges, properties, and keywords. - Constrained Node Editing: Add, move, connect, disconnect, and remove nodes from a version-pinned whitelist, with default values and settings validated against the supported node registry. - Blackboard Management: Add, update, list, and remove blackboard properties and keywords before binding them to PropertyNodes. - Use Case: Build a toon shading prototype by creating a blank graph, adding a Color property to the blackboard, adding multiply and sample nodes from the supported list, connecting them via live nodeId/slotId pairs, and reimporting the asset. ## Quick Start Create a new Shader Graph asset named ToonShading, then show me its structure and the list of supported nodes I can add.