$ show llcheesell/LEDScreenShader
This repository is a Unity shader asset package (com.llcheesell.led_screen_shader) that provides a high-fidelity, multi-pipeline HLSL shader for simulating LED displays. It supports both HDRP and URP pipelines (with a built-in fallback marked as unsupported), featuring subpixel RGB masking, procedural pattern generation (honeycomb, stripe, rectangle), screen-space density fade for anti-aliasing, cabinet grid with brightness variance, hotspot/glow effects, and TAA ghost prevention via motion vector invalidation. The package includes a custom material inspector GUI with foldable property sections, a migration tool to automatically detect and upgrade legacy Shader Graph materials, sample scenes with post-processing volumes, and detailed textures. The shader is designed for real-time rendering of realistic LED panels in architectural visualization, broadcast, or simulation contexts.
The LLM identified 4 files worth highlighting for reuse:
Provides a custom Unity material inspector for the LED screen shader. It uses a reusable Section() helper to group properties into 8 collapsible foldout groups, each with an optional checkbox for quick toggling. The pattern is self-contained and can be extracted to build inspectors for other complex shaders.
Detects legacy Shader Graph materials by matching hardcoded GUIDs or shader names, copies compatible property values to the new native shader, and shows migration prompts. This pattern is reusable for any scenario where an asset upgrade path must preserve material parameters across shader rewrites.
Implements procedural LED pattern generation using signed-distance fields for honeycomb, stripe, and rectangular layouts. Includes hotspot, glow, and white highlight functions. This HLSL module is self-contained (no internal project dependencies) and can be reused in any Unity shader that needs to render discrete emissive elements with anti-aliasing.
The main shader file demonstrating a robust pattern for supporting URP, HDRP, and Built-in pipelines within a single shader using separate SubShaders with PackageRequirements and CGINCLUDE/ENDCG for shared code. Includes a dedicated MotionVectors pass that outputs extreme values to prevent TAA/DLSS ghosting. This architecture is directly reusable for any cross-pipeline shader project.