{"id":20112,"plugin_id":"plugins_6aa1c02597c081918e358d72f65bd772","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:16:01.235Z","digest":"fb1d5c25675ff1ac25e146f37e97cbe1ce72f5534a1e06d14d993ade2b323878","against":null,"payload":{"description":"Generates custom Shader Graph nodes from HLSL code. Use when the user wants to create a new Shader Graph node or make existing HLSL code work as a reflected function node.","included_files":[{"relative_path":"resources/all_hints.hlsl","size_in_bytes":5249}],"name":"shader-graph-create-custom-node","skill_md_contents":"---\nname: shader-graph-create-custom-node\ndescription: \"Generates custom Shader Graph nodes from HLSL code. Use when the user wants to create a new Shader Graph node or make existing HLSL code work as a reflected function node.\"\nrequired_packages:\n  com.unity.shadergraph: \">=17.5.0\"\n---\n# Generating a custom Shader Graph node\n\n## Step 1: Generate an HLSL function definition\n- The function must be preceded by the preprocessor define `UNITY_EXPORT_REFLECTION`\n\n## Step 2: Decorate with Shader Graph hint tags\n- See `resources/all_hints.hlsl` for all valid hint tags and usage patterns\n- C#-style documentation tags are supported outside of `funchints` or `paramhints` blocks\n- Required function hints:\n  - `sg:ProviderKey`\n  - `sg:SearchCategory`\n  - `sg:SearchTerms`\n  - `sg:DisplayName`\n\n## Step 3: Write the code to an asset\n- Search the project for a `ShaderInclude` asset (`.hlsl`) that already contains custom Shader Graph nodes\n- If a matching asset exists, show the user its current contents and ask for confirmation before appending the new code\n- If no matching asset exists, create a new `.hlsl` asset\n- Ensure the file begins with `#include \"ShaderApiReflectionSupport.hlsl\"`\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}