shader-graph-create-custom-node
Generates custom Shader Graph nodes from HLSL code. Use when the user wants a new Shader Graph node or to make existing HLSL work as a reflected function node.
Install
npx skills add https://github.com/unity-technologies/skills --skill shader-graph-create-custom-nodeSKILL.md
Generating a custom Shader Graph node
Step 1: Generate an HLSL function definition
- The function must be preceded by the preprocessor define
UNITY_EXPORT_REFLECTION
Step 2: Decorate with Shader Graph hint tags
- See
resources/all_hints.hlslfor all valid hint tags and usage patterns - C#-style documentation tags are supported outside of
funchintsorparamhintsblocks - Required function hints:
sg:ProviderKeysg:SearchCategorysg:SearchTermssg:DisplayName
Step 3: Write the code to an asset
- Search the project for a
ShaderIncludeasset (.hlsl) that already contains custom Shader Graph nodes - If a matching asset exists, show the user its current contents and ask for confirmation before appending the new code
- If no matching asset exists, create a new
.hlslasset - Ensure the file begins with
#include "ShaderApiReflectionSupport.hlsl"
Related skills
setup-matt-pocock-skillsmattpocock905KConfigure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.hyperframes-cliheygen-com714KUse the HyperFrames CLI development loop: init, add, catalog, capture, lint, check, snapshot, compare, grade-compare, preview, play, present, beats, keyframes, single or batch render, publish, cloud, cloudrun, feedback, lambda, doctor, browser, info, upgrade, skills, compositions, timeline, history, docs, benchmark, telemetry, transcribe, auth, tts, and remove-background. Also use when diagnosing build or render failures. validate, inspect, and layout are deprecated aliases; use check. Covers loimplementmattpocock627KImplement a piece of work based on a spec or set of tickets.ask-mattmattpocock626KAsk which skill or flow fits your situation. A router over the skills in this repo.