| no DepthOnly pass | object vanishes with Depth Priming Forced | AgentDepthOnlyVertex/Fragment |
| clip only in the forward pass | dissolved object still casts a full shadow | AGENT_CLIP shared by all passes |
DepthNormals returns n * 0.5 + 0.5 | wrong SSAO and outlines | return the raw normal |
LIGHT_LOOP_BEGIN without a directional pre-loop | a second directional light lights nothing under Forward+ | loop URP_FP_DIRECTIONAL_LIGHTS_COUNT first |
_FORWARD_PLUS, SHADOWS_SCREEN, ComputeScreenPos (deprecated since URP 11) | compile warning, dead shadow branch | _CLUSTER_LIGHT_LOOP, GetMainLight(shadowCoord), GetNormalizedScreenSpaceUV(positionCS) |
shader_feature_local toggled from runtime C# (dissolve "on hit") | variant missing in the player: pink or closest match | material swap, or multi_compile_local; lint_project_keywords |
| a Boolean keyword to skip Shader Graph Alpha Clipping | whole object alpha-tested in every pass, all the time | Allow Material Override (_ALPHATEST_ON keyword) or a second opaque material |
dynamic_branch Type Override on an #if-tested keyword | variant count unchanged | test with if(), declare without a stage suffix |
if (KW) on a _fragment-suffixed keyword | "a known keyword but not declared in this pass" | declare it for all stages |
| stray VolumeProfile assets (samples, tests) | post variants for effects no scene uses | move them out of Assets/; PostProcessingAudit |
| one PSO collection for every API, or none proven | first-use hitches on device | per-API trace, cold vs warm runs |
| Depth Texture off on the URP asset | water turns to solid foam; hidden while SSAO still requests depth | enable on every URP asset that renders it; test with SSAO off |
| feature missing from one renderer | "the effect does nothing" on one quality level | ListFeatures across quality levels |
| After Rendering injection | nothing drawn, back-buffer error | After Rendering Post Processing |
| HDR edge color 4 and up | emissive edge washes to cream | 1 to 1.5, Bloom carries the glow |
| judging cost by instruction count, or half on desktop | "optimized" shader no faster | MeasureFullscreenCost; half on the device |
properties outside UnityPerMaterial | SRP Batcher off, values bleed | one CBUFFER in HLSLINCLUDE |