Search Unity

Bug URP Decals are pink on Android device

Discussion in 'Universal Render Pipeline' started by LegacySystem, Mar 18, 2023.

  1. LegacySystem

    LegacySystem

    Joined:
    Jan 28, 2021
    Posts:
    52
    Hi every one.

    I am getting these 2 errors on Unity 2021.3.10, URP 12 on an old android device. I tried to use decals but they all seems pink on the device. Device CPU architecture is Armv7 and supports OpenGL 3.1. Is there a way around this? I couldn't find anything about not supporting Armv7 on anywhere.

    Code (CSharp):
    1. Autoconnected Player "Autoconnected Player" Failed to create RenderTexture with RGBA32 SFloat (52) format. The platform doesn't support that format, and it doesn't have a compatible format.
    2. UnityEngine.StackTraceUtility:ExtractStackTrace () (at /home/bokken/build/output/unity/unity/Runtime/Export/Scripting/StackTrace.cs:37)
    3. UnityEngine.Rendering.ScriptableRenderContext:Submit_Internal ()
    4. UnityEngine.Rendering.ScriptableRenderContext:Submit () (at /home/bokken/build/output/unity/unity/Runtime/Export/RenderPipeline/ScriptableRenderContext.cs:110)
    5. UnityEngine.Rendering.Universal.UniversalRenderPipeline:RenderSingleCamera (UnityEngine.Rendering.ScriptableRenderContext,UnityEngine.Rendering.Universal.CameraData,bool) (at D:/GitHub/Bus Game/Library/PackageCache/com.unity.render-pipelines.universal@12.1.10/Runtime/UniversalRenderPipeline.cs:446)
    6. UnityEngine.Rendering.Universal.UniversalRenderPipeline:RenderCameraStack (UnityEngine.Rendering.ScriptableRenderContext,UnityEngine.Camera) (at D:/GitHub/Bus Game/Library/PackageCache/com.unity.render-pipelines.universal@12.1.10/Runtime/UniversalRenderPipeline.cs:587)
    7. UnityEngine.Rendering.Universal.UniversalRenderPipeline:Render (UnityEngine.Rendering.ScriptableRenderContext,System.Collections.Generic.List`1<UnityEngine.Camera>) (at D:/GitHub/Bus Game/Library/PackageCache/com.unity.render-pipelines.universal@12.1.10/Runtime/UniversalRenderPipeline.cs:280)
    8. UnityEngine.Rendering.RenderPipeline:InternalRender (UnityEngine.Rendering.ScriptableRenderContext,System.Collections.Generic.List`1<UnityEngine.Camera>) (at /home/bokken/build/output/unity/unity/Runtime/Export/RenderPipeline/RenderPipeline.cs:51)
    9. UnityEngine.Rendering.RenderPipelineManager:DoRenderLoop_Internal (UnityEngine.Rendering.RenderPipelineAsset,intptr,System.Collections.Generic.List`1<UnityEngine.Camera/RenderRequest>) (at /home/bokken/build/output/unity/unity/Runtime/Export/RenderPipeline/RenderPipelineManager.cs:115)
    10.  
    11. [/home/bokken/build/output/unity/unity/Runtime/Export/Scripting/StackTrace.cs line 37]
    12.  

    Code (CSharp):
    1. Autoconnected Player "Autoconnected Player" RenderTexture.Create failed: color format unsupported - RGBA32 SFloat (52).
    2. UnityEngine.StackTraceUtility:ExtractStackTrace () (at /home/bokken/build/output/unity/unity/Runtime/Export/Scripting/StackTrace.cs:37)
    3. UnityEngine.Rendering.ScriptableRenderContext:Submit_Internal ()
    4. UnityEngine.Rendering.ScriptableRenderContext:Submit () (at /home/bokken/build/output/unity/unity/Runtime/Export/RenderPipeline/ScriptableRenderContext.cs:110)
    5. UnityEngine.Rendering.Universal.UniversalRenderPipeline:RenderSingleCamera (UnityEngine.Rendering.ScriptableRenderContext,UnityEngine.Rendering.Universal.CameraData,bool) (at D:/GitHub/Bus Game/Library/PackageCache/com.unity.render-pipelines.universal@12.1.10/Runtime/UniversalRenderPipeline.cs:446)
    6. UnityEngine.Rendering.Universal.UniversalRenderPipeline:RenderCameraStack (UnityEngine.Rendering.ScriptableRenderContext,UnityEngine.Camera) (at D:/GitHub/Bus Game/Library/PackageCache/com.unity.render-pipelines.universal@12.1.10/Runtime/UniversalRenderPipeline.cs:587)
    7. UnityEngine.Rendering.Universal.UniversalRenderPipeline:Render (UnityEngine.Rendering.ScriptableRenderContext,System.Collections.Generic.List`1<UnityEngine.Camera>) (at D:/GitHub/Bus Game/Library/PackageCache/com.unity.render-pipelines.universal@12.1.10/Runtime/UniversalRenderPipeline.cs:280)
    8. UnityEngine.Rendering.RenderPipeline:InternalRender (UnityEngine.Rendering.ScriptableRenderContext,System.Collections.Generic.List`1<UnityEngine.Camera>) (at /home/bokken/build/output/unity/unity/Runtime/Export/RenderPipeline/RenderPipeline.cs:51)
    9. UnityEngine.Rendering.RenderPipelineManager:DoRenderLoop_Internal (UnityEngine.Rendering.RenderPipelineAsset,intptr,System.Collections.Generic.List`1<UnityEngine.Camera/RenderRequest>) (at /home/bokken/build/output/unity/unity/Runtime/Export/RenderPipeline/RenderPipelineManager.cs:115)
    10.  
    11. [/home/bokken/build/output/unity/unity/Runtime/Export/Scripting/StackTrace.cs line 37]
     
  2. wwWwwwW1

    wwWwwwW1

    Joined:
    Oct 31, 2021
    Posts:
    766
    Hi, have you tried disabling the "Use Rendering Layers" in URP asset?

    Looks like the device doesn't support "RGBA32 SFloat" texture format. (this is different from "RGBA32 sRGB" because the latter one is for color that needs gamma correction)
     
  3. LegacySystem

    LegacySystem

    Joined:
    Jan 28, 2021
    Posts:
    52
    Hi, thank you for your response. It seems "Use Rendering Layers" option is available after URP 14, We are using Unity 2021.3.20 which is URP 12.1 . Do you know a way to force "RGBA32 SFloat" to "RGBA32 sRGB" just to keep compativility with older device ? I don't even know where is this RGBA32 SFloat :(
     
  4. wwWwwwW1

    wwWwwwW1

    Joined:
    Oct 31, 2021
    Posts:
    766
    Then I think it should be "Light Layers" in URP asset.

    You can change the texture format somewhere in "UniversalRenderer.cs" (maybe line 446 in URP 12) after customizing URP package. But it may not work because layer information isn't color.