unity-shadergraph

star 6

Shader Graph asset creation, structure inspection, constrained blackboard editing, and constrained node-subset editing for `.shadergraph` / `.shadersubgraph`. Use when users want to create graphs, inspect real node/slot structure, edit properties or keywords, or perform safe low-level node operations. Triggers: Shader Graph, shadergraph, sub graph, blackboard property, shader keyword, node editing, slot connect, 着色图, 子图, ShaderGraph 属性, ShaderGraph 节点, ShaderGraph 连线.

dyCuong03 By dyCuong03 schedule Updated 6/11/2026

name: unity-shadergraph description: "Shader Graph asset creation, structure inspection, constrained blackboard editing, and constrained node-subset editing for .shadergraph / .shadersubgraph. Use when users want to create graphs, inspect real node/slot structure, edit properties or keywords, or perform safe low-level node operations. Triggers: Shader Graph, shadergraph, sub graph, blackboard property, shader keyword, node editing, slot connect, 着色图, 子图, ShaderGraph 属性, ShaderGraph 节点, ShaderGraph 连线." platforms: [unity-editor, claude-code] task-categories: [shadergraph, rendering, editor-automation] use-when: |- Load when the task requires: Shader Graph asset creation, structure inspection, constrained blackboard editing, and constrained node-subset editing for .shadergraph / .shadersubgraph. Use when users want to create graphs, inspect real node/slot structure, edit properties or keywords, or perform safe low-level node operations. Unity Editor must be running with the unity-skills REST server reachable at http://localhost:8090. do-not-use-when: |- Do not load when Unity Editor is not running locally. Do not load when unity-skills REST server is unreachable at http://localhost:8090. metadata: source: https://github.com/Besty0728/Unity-Skills version: 1.9.2 tier: 2


ShaderGraph Skills

Shader Graph asset workflows for Unity 2022.3+ with source-backed template handling, MultiJson inspection, and constrained internal-editor reflection writes.

Operating Mode

  • Query skills (shadergraph_list_templates, shadergraph_list_assets, shadergraph_get_info, shadergraph_get_structure, shadergraph_list_supported_nodes, shadergraph_list_properties, shadergraph_list_keywords) are SkillMode.SemiAuto — they run in all three modes without grant.
  • All other mutators (create graph / subgraph, add/move/connect/disconnect node, set node defaults/settings, add/update property/keyword, reimport) are SkillMode.FullAuto — under Approval they need user grant (grant triggers one server-side execute returning the result); under Auto / Bypass they execute directly.
  • shadergraph_remove_node, shadergraph_remove_property, shadergraph_remove_keyword carry SkillOperation.Delete and are auto-forbidden in Approval / Auto modes (NeverInSemi). Only Bypass or the user-managed Allowlist can run them.

Reflection Fragility

This module reaches into UnityEditor.ShaderGraph and UnityEditor.ShaderGraph.Internal via reflection (see ShaderGraphReflectionHelper.cs and ShaderGraphNodeRegistry.cs). The supported node whitelist, slot layout, and settings keys are version-pinned to com.unity.shadergraph 14.0.x (Unity 2022.3) with limited Unity 6 coverage. Treat the following as a hard contract:

  • Never assume an internal type, field, or slot id exists from memory — always cross-check with shadergraph_list_supported_nodes and shadergraph_get_structure first.
  • If a Shader Graph package update changes internal types or MultiJson schema, mutators may fail or silently no-op until the registry is updated.
  • If a skill returns an error mentioning a reflection / type lookup failure, do not retry with different argument shapes — report the version mismatch and stop.

Guardrails

Routing:

  • HLSL text shaders: use shader_*
  • Shader Graph / Sub Graph assets: use this module
  • Source-anchored design guidance before proposing graph architecture: load shadergraph-design

Runtime-first rules:

  • Always call shadergraph_get_structure before any node-level edit; treat returned nodeId and slotId as the only valid identifiers
  • Never invent slot names, node ids, or template availability from memory
  • shadergraph_set_node_defaults only applies to unconnected input slots; if the slot is connected, disconnect first
  • shadergraph_set_node_settings only writes the whitelist exposed by shadergraph_list_supported_nodes
  • PropertyNode only binds existing blackboard properties; create the property first with shadergraph_add_property
  • SubGraph editing is limited to ordinary nodes; this module does not edit SubGraphOutputNode structure

Validated behavior:

  • Unity 2022.3 + com.unity.shadergraph@14.0.12 does not ship GraphTemplates/; shadergraph_create_graph falls back to blank graph creation
  • Unity 6 ShaderGraph packages may provide actual template directories; template listing and template-copy creation remain available there
  • The supported node subset is runtime-filtered. The shared overlap is 28 nodes in live validation, while AppendVectorNode is currently Unity 6 only

Skills

shadergraph_list_templates

List Shader Graph templates shipped by the installed package.

shadergraph_create_graph

Create a Shader Graph asset from a package template or blank fallback.

shadergraph_create_subgraph

Create a blank Shader Sub Graph asset with a configured output slot.

shadergraph_list_assets

List Shader Graph and Sub Graph assets in the project.

shadergraph_get_info

Get a high-level summary of a Shader Graph or Sub Graph asset.

shadergraph_get_structure

Inspect the live graph structure. Returns real nodeId, position, slots, edges, properties, and keywords.

shadergraph_list_supported_nodes

List the constrained node whitelist, supported versions, slots, and editable settings.

shadergraph_add_node

Add a supported node by nodeType with optional initial settings and position.

shadergraph_remove_node

Remove a node by serialized nodeId; related edges are removed together.

shadergraph_move_node

Move a node by serialized nodeId.

shadergraph_connect_nodes

Connect a specific output slot to a specific input slot using nodeId + slotId.

shadergraph_disconnect_nodes

Disconnect one exact edge using the same four-tuple.

shadergraph_set_node_defaults

Set the default value of an unconnected input slot.

shadergraph_set_node_settings

Write whitelisted node settings only.

shadergraph_list_properties

List graph blackboard properties.

shadergraph_add_property

Add a constrained blackboard property.

shadergraph_update_property

Update a constrained blackboard property.

shadergraph_remove_property

Remove a graph property.

shadergraph_list_keywords

List graph blackboard keywords.

shadergraph_add_keyword

Add a graph keyword.

shadergraph_update_keyword

Update a graph keyword.

shadergraph_remove_keyword

Remove a graph keyword.

shadergraph_reimport

Force reimport of a Shader Graph asset after external edits.

Workflow

  1. Create or locate the target graph.
  2. Read shadergraph_get_structure.
  3. If needed, create blackboard properties or keywords first.
  4. Call shadergraph_list_supported_nodes to confirm node type, settings whitelist, and slot layout.
  5. Add/move nodes, then connect/disconnect using the live nodeId/slotId values.
  6. Re-read shadergraph_get_structure after each significant edit if the next step depends on topology.

Exact Signatures

Exact names, parameters, defaults, and returns are defined by GET /skills/schema or unity_skills.get_skill_schema(), not by this file.

Install via CLI
npx skills add https://github.com/dyCuong03/unity-agent-team --skill unity-shadergraph
Repository Details
star Stars 6
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator