About UE-47531

I came across a weird issue where the Engine would crash in FMaterial::GetShader if the scene being loaded has a translucent material assigned to a mesh, and an atmospheric fog. A temporary solution (that worked for me) would be to remove the atmospheric fog.
Unfortunately, I haven’t been able to replicate this issue in a blank project.

Technical details :

After spending a lot of time on debugging UE with the source code, I figured out that the mesh shader map inside the material only had 21 shaders rather than 44 shaders like every other material. In my opinion it sounds like shaders were partially compiled in the material.

For Epic developers : I can either send a dmp file of the crash or give you an access to my project (which is relatively big) so you can easily replicate this bug.

I was able to reproduce the potential cause of the issue where shader compiling would not be triggered and I suspect that it would be the cause of the crash.

I have attached a blank project with a code that make it possible to replicate the potential cause of the issue (not the crash however).

Steps to reproduce :

  1. Clear your DDC folder

  2. Compile and open the project

  3. Open the level /Game/Maps/UE-47531

You should now see two static meshes in the scene, showing the default material : they both should have different materials which are not compiling.