Why do shaders recompile constantly with any change to the material?

Whenever I make a change to a material (or even material instance!), 100-300 Shaders are recompiling in the background, showing the updated material afterwards.

I have noticed that In the material editors my previews don’t update if i am displaying it on a preview mesh. On primitives it works or in the viewport.

Could I have done anything to provoke this? I noticed an “Intermediate” folder pop up in my project directory. Does this have to do with the problem? Please help me solve these issues as they are heavily influencing my materials workflow. Thank you!

I have the same issue, and disabling live updates/live notes is not doing anything for me.

It seems I have solved the problem myself (Edit: FOR VERSION < 4.1 ONLY) So for anyone having this issue:

Update your graphics card drivers. Seems that older drivers need to recompile constantly.

Edit: Whoever downvoted me for trying to solve the issue I posted myself: I hope you are happy.

This bug seems to still exist in 4.1.
I’ve seen the problem on 2 separate machines. both with similar hardware. (nvidia 650 Ti & 660 Ti)

Repro Steps:

  1. Create a new project (Blueprint Third Person or Blank)
  2. Create a new material
  3. Add a node to the graph (Lerp, Mult, etc)…

Suddenly there are 75 shaders to compile.

Each time you add or delete a node, or change a constant or parameter value, the editor Queues up more shaders to compile. So if you just add a bunch of nodes or change a constant value a few time, you suddenly have 100s or 1000s of shaders to compile. As you can imagine, this slows down productivity.

Live nodes & Live Updates are turned off,
Realtime rendering in the preview is turned off…

Ive updated to the latest nVidia drivers (both WHQL & Beta) and the problem persists… Any guidance or help would be MUCH appreciated :slight_smile:

I have the same problem…
In the 4.02 version the problem was solved.
But now the problem reappeared.

The issue is not the driver! I have the updated driver, and Again the problem was resolved in the 4.02 version of the editor

Bye!

Similar thing is happening to me too since 4.1

Same problem here: every time I change something it starts compiling. 4.02 fixed it, 4.1 reintroduced the issue.

Same here. Updating graphics driver doesn’t help.

Same problem here. Have the newest drivers and GTX 570.

I tried updating drivers too and this didn’t solve the problem

Same problem here, but with an AMD GPU (updated to latest)

I have the same problem as well. Older version fine. Downloaded new version 4.1 and all I do all day is watch it compile. Does anyone have a fix for this yet?

Just started a new project on 4.1 (BP Rolling Template) and this project now has the recompiling issue and an older one does not. Will try opening it on a different machine and see if the problem is hardware-dependent.

Same problem here. I hope Epic fixes this as soon as possible.

Ditto here on two different machines, both i7 with plenty of RAM and GTX cards. 4.02 was fine, 4.1 is not.

Yeah, it’s pretty sure not the hardware problem. I have UE4 on SSD, 24 gb RAM, and 4.5 Ghz Core i5. On 4.0.1 everything was fine, on 4.1 it spends all the time recompiling the shaders. Hope that it will be fixed soon.

Thank you for the information, we are currently compiling data and looking into the issue.

Tim

5/7/2014 UPDATE: We rolled out a fix in 4.1.1 to disable the feature that resulted in so many additional shaders being compiled. Please update to resolve this issue!

UPDATE 2: The hotfix is now available for non-github users as a preview: 4.1.1 hotfix update now available - Announcements - Epic Developer Community Forums

A new feature was added that caused many more shaders to compile while iterating on a material and we didn’t catch it in time to fix for 4.1. It will be fixed in the next release and I’m hoping we can include it in a hotfix for 4.1 before then!

What new feature? Can we have a estimated time frame for this hot fix or release?
Thank You…

Yes, i would be happy if we can get an estimated fix date.