Unknown shader compiler error using Unity 2019.2.8f1 when building iOS

I finally tried the trick mentioned before, about copying UnityShaderCompiler from 2019.3 to 2019.2 and it worked!

Thanks for all the help.

I couldn’t get any version to work from 2019.2.5 onward, Im back at 2019.2.4.

yeah, I on this version now too - on this version shaders for ios and android both work. on 2019.2.9 - only ios.
weird

This bug is really messing me up. The only solution for me has been building the android version on my PC which has been a right pain in the bum. Is there any real official fix in sight? I wish I had stayed on Mojave. :frowning:

I still have this issue with the 2019.2.15 version. Is there a permenant solution now?

Still Issue with 2019.2.16.1f
MacOS Catalina 10.15.2 / windows 10
Android 6

Same problem here. So, does it mean that currently there are no stable Unity versions (not betas) that work without modification?

For people on the internets who are stumbling upon the same eror as me and couldn’t find relevant thread, here are some lines from my editor log:

Assertion failed on expression: 'm_Type == kShaderVertex'

Shader compiler: Compile Legacy Shaders/Particles/Additive - Pass 0, Vertex Program: Internal error, unrecognized message from the shader compiler process.  Please report a bug including this shader and the editor log.

Shader compiler: Compile Legacy Shaders/Particles/Alpha Blended - Pass 0, Vertex Program: Internal error, unrecognized message from the shader compiler process.  Please report a bug including this shader and the editor log.

Shader error in 'Hidden/PostProcessing/GrainBaker': Internal error, unrecognized message from the shader compiler process.  Please report a bug including this shader and the editor log.

Shader compiler: Compile Hidden/PostProcessing/Uber - Pass 0, Vertex Program: Internal error, unrecognized message from the shader compiler process.  Please report a bug including this shader and the editor log.

Shader compiler: Compile Hidden/Internal-DeferredShading - Pass 0, Fragment Program: Internal error, unrecognized message from the shader compiler process.  Please report a bug including this shader and the editor log.

Shader compiler: Compile Hidden/Internal-DeferredShading - Pass 1, Vertex Program: Internal error, unrecognized message from the shader compiler process.  Please report a bug including this shader and the editor log.

Shader error in 'Hidden/BlitCopyWithDepth': Internal error, unrecognized message from the shader compiler process.  Please report a bug including this shader and the editor log.

Metal: Error creating pipeline state (Sprites/Default): Compiler encountered an internal error
(null)

Jesus how Unity can be so incompetent.
New versions are not working on the latest macOS and they just do nothing. But hey, they are working on a bunch of shiny useless features.

Solved using the solution from @agmaster here

for now I think is the best and maybe only option

It’s not listed under known issues of 2019.2.17 anymore, so possibly fixed in 2019.2.17f1.

Confirming that at least for me 2019.2.17 is working. No shader compiler errors, I’ve been able to run in the editor and build to iOS and Android devices and all working as intended.

I can confirm it too, my nightly build went through, so fixed in 2019.2.17, 2019.3 and 2020.1.

It is an error in importing your HDRP rendering pipeline, and reimporting allows it to work again. The process is simple.

In the Window-dropdown at the top (where you would find File and Edit), you will see ‘Render Pipeline,’ which is a drop-down too, and click ‘HD Render Pipeline Wizard.’

You should see Populate / Reset, and clicking that will resolve most of the errors. Click the ‘Fix All’ button for each configuration (HRDP, HDRP + VR, and HDRP + DXR).

That should do the trick. Play and see it works.

A side note: You will probably have to do this process several times through development.

OSX Catalina working setup:
Project Settings > Player > iOS > Other settings:

  • Auto Graphics API: Unchecked
  • Graphics API’s: GLES3, GLES2 (in this order from top to bottom)
  • Multithread rendering: CHECKED
  • GPU Skinning: CHECKED

Why has the shader compiler problem persisted for years? Unity 5 had it. I started out learning Unity with version 4 when a friend introduced me to it. Total love at first sight watching them use it. Unity seemed like the miracle I never knew I needed. Soon after I was introduced to it Unity came out with version 5.

Now I’m using Unity 2018 TLS version for a commercial project I’ve been working on for over a year. This project has been advertised for PC, Mac, and Linux. However the shader compiler bug stops builds cold. It’s a game of chance trying to make a build with Unity. Mostly it doesn’t work. After several failed attempts it decided to regularly work with Windows builds. Not sure what finally caused the flood gates to burst. That day I kept trying to build it and did so until it went though. Since then it has worked for Windows builds when other shaders are included besides the standard Unity ones.

Trying to get a beta build out to a Mac beta tester but Unity keeps hanging at the shaders. So many hours wasted just trying to build the project. Tried to get a Mac beta build out last week but it never happened. No matter what I did it always froze at compiling the shaders. Is 12GB of RAM not enough? I’ve already tried twice today and it hangs at the end of compiling the shaders every time. I’ll try it one or two more times today and if that doesn’t work then I’ve lost my beta tester because they have a life. If I just used Unity’s standard shaders ta default project comes with it will compile just fine. I’m not using some exotic shaders, all I have done is included shaders available in Unity that aren’t included in standard builds.

If this doesn’t work today I’ll have to seriously rethink doing this project with Unity. I’ve been giving Unreal Engine a serious look over. If I switch to that I’ll need to redo everything in C++. But if I can’t compile anything serious with Unity why use it? Why not upgrade to Unity 2020 beta or Unity 2019? Because I tried to move this project to Unity 2019 and it wouldn’t work. Unity 2019 lost functionality. Want to design a in game level editor using anything above Unity 2018… sorry you can’t! For some reason the ability to track the mouse position and apply it to coordinates on the screen was removed from Unity versions after 2018. But from this forum post it looks like that wouldn’t matter as Unity 2019 has shader compiler issues as well.

Yeah, I could just announce this is being released for Windows only and loose a growing customer base while I look like an incompetent idiot who doesn’t know how to press the build button in the Unity editor. But there’s no guarantee the final build for Windows won’t have the same shader compiler issue. Sure it works now for Windows but I don’t know why it wasn’t working to begin with or why it suddenly worked. I might as well find another engine that doesn’t have issues making builds. This is super frustrating.

What have I learned? If something is too good to be true it is. Unity came on the scene as the most amazing game engine of all time. Too good to be true… looks that way. If you want to make a simple arcade game and put it on many different platforms then Unity is great. If you want to do a serious commercial project look elsewhere as Unity can’t seem to handle it.

I’ve been noticing a trend in the game industry. Those with serious game making experience use Unreal Engine or program their own. Those who don’t know how to program OR are just learning to program (like me 5 years ago) OR are looking to quickly release a title use Unity. I’m so frustrated right now. All my plans stopped in their tracks simply because Unity doesn’t work. This shader compiler problem has persisted for years. Why? It makes the Unity engine worthless if you want to do anything serious.