Skip to content

shader_helper returns URP-only HLSL labelled as HDRP/Built-in #24

Description

@TMHSDigital

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.

Activity

  1. TMHSDigital commented on Oct 9, 2026

    @TMHSDigital
    OwnerAuthor

    Fixed in #49.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingmcp-serverPython MCP server and datapriority: highTackle first

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions