Shader compilation errors in NiagaraSpriteVertexFactory.ush

Hi,

We have the exact same issue as mentioned in this UDN Post:

[Content removed]

This currently causes issues at cook time with shader compilation errors:

NiagaraSpriteVertexFactory.ush:462:39: error: no member named ‘TexCoord_Unflipped’ in ‘FVertexFactoryIntermediates’

When opening the offending Material in the Editor and do ‘Show HLSL’, we clearly see that:

  • NUM_MATERIAL_TEXCOORDS_VERTEX 4
  • NUM_MATERIAL_TEXCOORDS 1

… and this situation prevents float4 TexCoord_Unflipped from being declared and compiled (see NiagaraSpriteVertexFactory.ush).

It might seem like a simple fix, but the impacts and risk seems quite high.

Wondering what is the plan on Epic’s side regarding fixing this issue?

Steps to Reproduce

Hi David,

I never manage to make a repro for the original issue, which is what made me reluctant to submit the change.

I did sit with the modification locally for about a month and didn’t encounter any obvious problems with it.

If you have a way to repro the issue that would be great and I could submit this in time for 5.6.

Thanks,

Stu

Thanks for the information, when I find time I’ll see if I can use that to get a repro.

Hi Stuart,

So far it appears the issue involves Material Layers and Material Blends, with at least 1 Material Layer having multiple Texture Coordinate Channels (4 in our case).

I will try to get a vanilla repro.

Thanks,

David

I also encountered this issue, it seemed strangely intermittent and the asset appears to otherwise be rendering correctly instead of using default material. It is a mic (using mat attrib layers) used on a static mesh used by a niagara mesh renderer. Mesh does have 4 UV channels which the mic makes use of.

Can you share the revision of that potential fix you mentioned, we might want to merge it in.

That was the key bit of information, managed to make myself a repro doing this.

[Image Removed]

Just doing some verification but this gives me more confidence in a fix now!

Thanks,

Stu

The change is submitted into UE5 Main CL 42565841, this fixes both Niagara & Cascade CPU+GPU vertex factories.

Thanks,

Stu

Hi Stu,

Will integrate this and test, getting back to you next week.

I merged in the change and recooked and confirmed that the fail to compiles are gone, thanks.

Great, thanks for confirming!