Material issue after updating project to 5.8

I’ve just updated my project to 5.8 and I’m hitting a build issue with one of my landscape materials when trying to build the project for Windows. I’ve attached the callstack from the build below.

I’m not sure what makes this material unique as I don’t have much experience with landscape textures but it has “Use Material Attributes” ticked. It is also used for Nanite and Instanced Static Meshes. It also has a Runtime Virtual Texture output node.

During the build output, these lines are also spammed which I can assume is related.

UATHelper: Packaging (Windows): LogMaterial: Display: Missing cached shadermap for LandscapeMaterialInstanceConstant_3 in PCD3D_SM6, Default, SM6, Game (DDC key hash: 0ffdbe7263453771a8d0ce6b38294dea978ab7b5), compiling.

UATHelper: Packaging (Windows): LogMaterial: Display: Missing cached shadermap for LandscapeMaterialInstanceConstant_3 in VULKAN_SM5, Default, SM5, Game (DDC key hash: 85e67dd2a7d6e2ba17c685adef3b84e0bc045554), compiling.

landscape_material_issue.txt(7.87 KB)

Hey there! I’ll caveat that 5.8 isn’t ready yet, and it’s still in preview so it’s distinctly possible this is an issue that will be resolved with the official release. I know we’ve done a lot of work in 5.8 to try and reduce the number of shaders and permutations at the engine level, and it’s possible this is related to that work.

It’s interesting that this is only happening for one Landscape MIC. Since the engine has to compile different versions of the material for each component based on the layer weights painted into it, I’d expect an issue with materials to crop up on all landscape MICs. Or maybe the cooker hits this error and bails out early.

Could you open up the landscape material itself and see if there are any compilation errors? You may need to go into the Platform Stats panel and add Vulkan SM5 as one of the platforms to check the stats for. If you open the map up itself, do you see any other compilation errors?

Hello,

Apologies for the delay - TShadowDepthPSCombined was an optimization that was added in 5.8 and it’s likely we have some logic that needs to be updated, however I haven’t been able to reproduce this error locally by packaging a project that has a landscape with a Material with Used by Nanite and Used by Instanced Static Meshes with Material Attributes enabled. Can you create a small repro project that you could share with me to look into this further?

Hey Matt,

It all seems to be fine on the Platform Stats tab! Honestly my project is quite small so I think this is the only Landscape material that I have.

When I enter Landscape Mode, I do see the following in the output log:

LogLandscape: Warning: Shader TShadowDepthPSCombined unknown by landscape thumbnail material, please add to either AllowedShaderTypes or ExcludedShaderTypesAdding TShadowDepthPSCombined to GetAllowedShaderTypesInThumbnailRender() fixed that warning.

I can grab some other info if there’s anything useful but also just happy to wait if you think it’s something that should get fixed once 5.8 is a bit more stable. I was just jumping the gun to make sure it all compiles for my plugins users once it is released.

Hey Alex. Sorry about the slow reply here. I ended up reverting back to 5.7 to unblock myself so I don’t have the project or ability to make a small repro project on hand right now.

If I get a chance to sort something out I’ll send it through.