Why it matters
shader_helper advertises URP, HDRP and Built-in support, but returns the same URP-only HLSL for every pipeline and labels it with the requested one. HDRP and Built-in users get code that will not compile in their pipeline, presented as correct for it.
Evidence
mcp-server/data/shader_properties.json: all 6 effects list "pipelines": ["urp", "hdrp", "builtin"], but each code_snippet starts with // URP ... and uses URP-only APIs (GetMainLight, URP Core include macros).
mcp-server/server.py shader_helper prints ## {effect} - {pipeline.upper()} followed by that snippet.
shader_helper('toon', 'hdrp') returns a ## Toon - HDRP heading followed by // URP Toon ... Light mainLight = GetMainLight(IN.shadowCoord);. HDRP has no GetMainLight.
Suggested approach
- Change the data model to per-pipeline snippets, e.g.
code_snippets: {"urp": ..., "hdrp": ..., "builtin": ...}.
- Until HDRP and Built-in variants exist, list only
urp in pipelines; for other pipelines return the Shader Graph node guidance plus an explicit "no hand-written HLSL for this pipeline yet" note.
- On no match, return the list of valid effects and pipelines.
Done when
Asking for any effect on HDRP or Built-in either returns pipeline-correct code or says plainly that only Shader Graph guidance is available.
Why it matters
shader_helperadvertises URP, HDRP and Built-in support, but returns the same URP-only HLSL for every pipeline and labels it with the requested one. HDRP and Built-in users get code that will not compile in their pipeline, presented as correct for it.Evidence
mcp-server/data/shader_properties.json: all 6 effects list"pipelines": ["urp", "hdrp", "builtin"], but eachcode_snippetstarts with// URP ...and uses URP-only APIs (GetMainLight, URP Core include macros).mcp-server/server.pyshader_helperprints## {effect} - {pipeline.upper()}followed by that snippet.shader_helper('toon', 'hdrp')returns a## Toon - HDRPheading followed by// URP Toon ... Light mainLight = GetMainLight(IN.shadowCoord);. HDRP has noGetMainLight.Suggested approach
code_snippets: {"urp": ..., "hdrp": ..., "builtin": ...}.urpinpipelines; for other pipelines return the Shader Graph node guidance plus an explicit "no hand-written HLSL for this pipeline yet" note.Done when
Asking for any effect on HDRP or Built-in either returns pipeline-correct code or says plainly that only Shader Graph guidance is available.