The licensee reports that this issue is caused by the following code not performing a Buffer update.
.\Engine\Source\Runtime\Renderer\Private\ShaderBaseClasses.cpp
 void FMeshMaterialShaderElementData::InitializeMeshMaterialData(...)
 [Image Removed]
Therefore, the following fixes may solve the problem.
if (SceneView /* && StaticMeshId >= 0 */) { checkSlow(SceneView->bIsViewInfo); const FViewInfo* ViewInfo = (FViewInfo*)SceneView; if (/* Add */ StaticMeshId >= 0 && MeshBatch.bDitheredLODTransition && !(bAllowStencilDither && ViewInfo->bAllowStencilDither)) { if (ViewInfo->StaticMeshFadeOutDitheredLODMap[StaticMeshId]) { DitherUniformBuffer = ViewInfo->DitherFadeOutUniformBuffer; } else if (ViewInfo->StaticMeshFadeInDitheredLODMap[StaticMeshId]) { DitherUniformBuffer = ViewInfo->DitherFadeInUniformBuffer; } }
1. Use DistanceCullFade node as the material.
 [Image Removed]
 2. Set the Material and Desired Max Draw Distance for each mesh.
 [Image Removed]
 3. When played, it works on Static Mesh, but not on Skeletal Mesh.
[Image Removed]
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-149933 in the post.
| 1 | 
| Component | UE - Rendering Architecture - Materials | 
|---|---|
| Affects Versions | 4.27, 5.0 | 
| Target Fix | 5.1 | 
| Created | Apr 22, 2022 | 
|---|---|
| Resolved | May 6, 2022 | 
| Updated | May 16, 2022 |