Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Xcode Shader Warning (Unity4.5)

Discussion in 'iOS and tvOS' started by MrEsquire, May 29, 2014.

  1. MrEsquire

    MrEsquire

    Joined:
    Nov 5, 2013
    Posts:
    2,712
    Hi,

    I upgraded my project to Unity 4.5 but seem to be getting some strange error messages in Xcode
    One new feature, I set the graphics level to "Automatic" before the build.
    Have not been able to decode them, if anyone from Unity would comment would be great.

    Code (csharp):
    1.  
    2. WARNING: Shader Unsupported: 'Hidden/TerrainEngine/Details/BillboardWavingDoublePass' - Pass '' shader state not supported
    3. WARNING: no native support for texture format 5, converting to 4!
    4. WARNING: Shader Unsupported: 'Hidden/TerrainEngine/Details/BillboardWavingDoublePass' - Pass '' shader state not supported
    5.  
    I'm not sure where these files are located in the project or internal files.

    Google took me to this old thread: http://forum.unity3d.com/threads/11...ings-setting-USE_OPENGLES20_IF_AVAILABLE-to-0

    But I'm not sure what to change Shader settings to, any ideas?

    Thanks
     
    fschneider likes this.
  2. Alexey

    Alexey

    Unity Technologies

    Joined:
    May 10, 2010
    Posts:
    1,600
    that simply says the shader is not supported for whatever reason (why so - another thing - we really need to make this stuff more clear)

    5 is for TextureFormat.ARGB32 - ARGB is not supported on gles at all. Check if you forcibly create textures like that and change to rgba/truecolor
     
  3. MrEsquire

    MrEsquire

    Joined:
    Nov 5, 2013
    Posts:
    2,712
    Thanks for the information Alexy :)
    As I use mostly mobile shaders, is there a way I can detect which shader is causing the issue in Unity.
    Currently Unity is not showing me any warnings or only in Inspector I may see this?

    Also I could not find any TextureFormat.ARGB32 - ARGB in the project, this could be some kind of bug here, I keep looking to see whats causing it as this warning comes up more than once.
     
    Last edited: May 30, 2014
  4. Alexey

    Alexey

    Unity Technologies

    Joined:
    May 10, 2010
    Posts:
    1,600
    well, if you have it in smallish project - bug report if with repro - we'll check it out (might be our bug, sure)
     
  5. MrEsquire

    MrEsquire

    Joined:
    Nov 5, 2013
    Posts:
    2,712
    Ok, but can you help answer this:

    "As I use mostly mobile shaders, is there a way I can detect which shader is causing the issue in Unity.
    Currently Unity is not showing me any warnings or only in Inspector I may see this?"

    Thank you
     
  6. laserlars

    laserlars

    Joined:
    Nov 17, 2011
    Posts:
    255
    Hi,

    Did you get a solution for this ? Upgraded to 4.5 and I got this warning as well.
    FPS dropped from 60 to 8 on iPhone 5.
     
  7. MrEsquire

    MrEsquire

    Joined:
    Nov 5, 2013
    Posts:
    2,712
    No solution, just ignored it because I do not understand the problem fully.
    When I googled for these issues I did not get same answer as Alexy wrote, this adding to my confusion.

    But yes I still have these issues but less now.
     
  8. laserlars

    laserlars

    Joined:
    Nov 17, 2011
    Posts:
    255
    Ok, thanks. Realized that this wasn´t causing the FPS problem after all :)
     
  9. MrEsquire

    MrEsquire

    Joined:
    Nov 5, 2013
    Posts:
    2,712
    No this should not cause the FPS drop, this more optimisation thing.
     
  10. b4cksp4ce

    b4cksp4ce

    Joined:
    Apr 13, 2011
    Posts:
    114
    Did someone found the real reason for this warning and how to get rid of it ?

    WARNING: no native support for texture format 5, converting to 4!
     
  11. hlynbech

    hlynbech

    Joined:
    Jan 16, 2013
    Posts:
    1
    Inspecting the enum TextureFormat, I found that 5 is ARGB32 and 4 is RGBA32.

    When creating a new Texture2D from scripts, without a format specifier, Unity defaults to ARGB32, but is apparently not supported on iOS (tested on iPad 5).

    Specifically using the constructor

    newtex = newTexture2D (w, h, TextureFormat.RGBA32, false);

    got rid of the problem on my iPad.
     
    MrEsquire likes this.
  12. MrEsquire

    MrEsquire

    Joined:
    Nov 5, 2013
    Posts:
    2,712
    Thanks, excellent explanation, I will watch out for these in the future.
     
  13. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,366
    I used the above and get still the same warning...
     
  14. fschneider

    fschneider

    Joined:
    May 26, 2014
    Posts:
    42
    My report on this problem: I am testing my game on iPad2, iPad mini and iPad Air and the warning only occurs on the iPad Air.

    Edit: I checked and I always use the default Texture constructor, or attach the textures via the editor. None of the textures has import settings to refer to ARGB or RGBA
     
  15. JensBerglind

    JensBerglind

    Joined:
    Apr 28, 2014
    Posts:
    6