Search Unity

  1. Unity Asset Manager is now available in public beta. Try it out now and join the conversation here in the forums.
    Dismiss Notice

Resolved Custom URP Shader Breaks in 2022.2.0b16

Discussion in '2022.2 Beta' started by JonathanBartel, Nov 23, 2022.

  1. JonathanBartel

    JonathanBartel

    Joined:
    Jun 24, 2019
    Posts:
    47
    After updating to Unity 2022.2.0b16, a custom URP shader that worked in 2022.2.0b15 now flickers black and white. Does anyone else have this problem or does anyone know what's causing this?

    EDIT: I've tried reimporting materials and reconverting materials after updating to 2022.2.0b16.

     
    Last edited: Nov 23, 2022
  2. JonathanBartel

    JonathanBartel

    Joined:
    Jun 24, 2019
    Posts:
    47
    Got it. In comparing the old URP Lit shader and the new URP Lit shader, it looks like there have been some changes regarding Forward+ rendering. I still have some rendering issues since updating to 2022.2.0b16, but at least I feel like I'm on the right track.

    In my "UniversalForward" pass, I needed to add these Universal Pipeline keywords:
    Code (CSharp):
    1. #pragma multi_compile _ _FORWARD_PLUS
    2. #pragma multi_compile_fragment _ _WRITE_RENDERING_LAYERS
    and remove this keyword (I think this is optional but it looks like it's not used for Forward+?)
    Code (CSharp):
    1. #pragma multi_compile _ _CLUSTERED_RENDERING
    Code (CSharp):
    1. // Universal Pipeline keywords
    2. #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN
    3. #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS
    4. #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS
    5. #pragma multi_compile_fragment _ _SHADOWS_SOFT
    6. #pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION
    7. #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3
    8. #pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING
    9. #pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION
    10. #pragma multi_compile_fragment _ _LIGHT_LAYERS
    11. #pragma multi_compile_fragment _ _LIGHT_COOKIES
    12. #pragma multi_compile _ _CLUSTERED_RENDERING

    Code (CSharp):
    1. // Universal Pipeline keywords
    2. #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN
    3. #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS
    4. #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS
    5. #pragma multi_compile_fragment _ _SHADOWS_SOFT
    6. #pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION
    7. #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3
    8. #pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING
    9. #pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION
    10. #pragma multi_compile_fragment _ _LIGHT_LAYERS
    11. #pragma multi_compile_fragment _ _LIGHT_COOKIES
    12. #pragma multi_compile _ _FORWARD_PLUS
    13. #pragma multi_compile_fragment _ _WRITE_RENDERING_LAYERS