# 6. Renderer Feature Pitfalls Part of [[Custom URP Renderer Features]]. Prev: [[5. Worked Example Fullscreen Flash]]. ## Compatibility Mode still on An upgraded project may have **Project Settings > Graphics > Render Graph > Compatibility Mode (Render Graph Disabled)** enabled. Graph-only passes will not run as written. Turn it off and port; do not add an `Execute` path "just in case" in this course. ## Invented URP version numbers Cite **URP as bundled with 6000.5** and the manuals above. Package Manager is the version authority. ## Blitting back to the camera color Official blit docs: after you blit to a destination, assign `resources.cameraColor = destination` instead of a second blit back. Double-blit wastes bandwidth and is a common Quest foot-gun. ## `AllowPassCulling(false)` left in production The official sample says not to. If nothing uses the output, the pass should disappear. ## Capturing `this` in `SetRenderFunc` Use a static lambda and `PassData` only. A closure over a MonoBehaviour is a correctness and allocation bug. ## Reading camera targets in `AddRenderPasses` Unity 6 upgrade notes: targets may not be allocated there. Enqueue in `AddRenderPasses`; declare textures in `RecordRenderGraph`. ## Feature on the wrong renderer The camera must use the renderer asset you edited. A 2D Renderer / pipeline may not list the same features or injection points. ## Photosensitivity and reduced motion A fullscreen flash is an accessibility issue. Offer an off switch ([[Accessibility]]). ## Every camera, every frame Skip preview/reflection cameras when the effect is gameplay-only. Confirm camera type via `UniversalCameraData` in *your* API. ## Volume support invented from memory If you need a Volume-driven custom effect, follow the official 6000.5 page **Create a custom post-processing effect with Volume support**, and [[4. Scripting Volume Overrides]] for the built-in Volume pattern. Do not invent attribute names. ## Sources - Write a render pass (6000.5): https://docs.unity.com/en-us/engine/6000.5/manual/render-pipelines/universal-render-pipeline/customizing-urp/render-graph/write-render-pass - Blit (6000.5): https://docs.unity.com/en-us/engine/6000.5/manual/render-pipelines/universal-render-pipeline/customizing-urp/render-graph/blit - Custom post-processing (6000.5): https://docs.unity.com/en-us/engine/6000.5/manual/post-processing-and-full-screen-effects/urp/custom-post-processing