[UE5.8] Mesh Distance Field data completely unreadable on Mobile — DistanceFieldAO and DistanceToNearestSurface material node both broken (regression from working 5.7)
Summary:
On UE 5.8, Mesh Distance Field data is not accessible on Mobile platforms at all. This affects both Distance Field Ambient Occlusion (DFAO) and the “Distance To Nearest Surface” material node, which outputs solid black on Mobile despite producing correct distance field gradients on Desktop with the exact same mesh and material. This is a regression — the same setup worked correctly on UE 5.7.
Engine Version:
5.8 (release)
Platform:
Mobile: Android, Vulkan (Mobile Deferred Shading)
Desktop: Windows, PC preview (SM6) — used as comparison baseline, unaffected
Steps to Reproduce:
- Create a new UE 5.8 project, set Mobile Shading = Deferred Shading.
- Confirm Project Settings → Engine → Rendering → Lighting → “Generate Mesh Distance Fields” = True (project default).
- Confirm “r.Mobile.DistanceFieldAO” = 1 (Mobile Platforms allowed to use the Distance Field AO feature, per its own console description: “Whether the distance field AO feature is allowed for Mobile Platforms, which is used to implement shadows of Movable sky lights from static meshes”).
- Set up a scene with a Movable Sky Light and a Static Mesh (e.g. a sphere), matching the conditions described in the cvar’s own documentation.
- Create a simple material (see attached screenshot “Material Graph”) using “Absolute World Position (Excluding Material Offsets)” → “Distance To Nearest Surface” → plugged into Emissive Color, applied to a Sphere static mesh.
- View in PC/Desktop preview — observe correct distance field gradient output (black-to-white falloff matching the mesh’s distance field).
- Switch to Mobile Preview (Android Vulkan) — observe solid black output with no gradient whatsoever.
- Separately, disable Lumen (r.DynamicGlobalIlluminationMethod = 0) and observe DFAO effect on a Movable Sky Light + Static Mesh setup — works correctly on Desktop, but produces no visible AO/shadowing effect on Mobile under the same setup.
Expected Result:
With “r.Mobile.DistanceFieldAO” = 1 and “Generate Mesh Distance Fields” enabled, Mesh Distance Field data should be correctly generated and readable on Mobile, matching Desktop behavior — both for the DFAO shadowing effect described in the cvar’s documentation and for direct material-level access via “Distance To Nearest Surface”.
Observed Result:
Mesh Distance Field data appears to be entirely inaccessible on Mobile:
- The “Distance To Nearest Surface” material node outputs solid black on Mobile (no distance field data), while correctly outputting a gradient on Desktop using the identical mesh/material.
- DFAO shadowing (per the documented use case of “r.Mobile.DistanceFieldAO”: Movable Sky Light shadows on Static Meshes) shows no effect on Mobile, despite the cvar being enabled (value = 1) and the documented prerequisites being met (Generate Mesh Distance Fields = True).
- This is not a Lumen-related expectation issue — the test was performed with Lumen disabled (r.DynamicGlobalIlluminationMethod = 0) on both platforms for a fair comparison.
Version History (regression context):
- UE 5.6: Distance Field features on Mobile were non-functional — Distance Field material nodes (e.g. Distance To Nearest Surface) produced compile errors when compiling for ES3.2.
- UE 5.7: Distance Field on Mobile worked correctly — this is the only version in recent history where this feature was confirmed functional end-to-end.
- UE 5.8: Regression — Distance Field data is unreadable on Mobile again, despite no compile errors this time (data path is silently broken rather than failing to compile).
This suggests Mobile Distance Field support has not received consistent regression testing across the 5.6 → 5.7 → 5.8 release cycle, given it has been broken in two out of the last three major versions.
Additional Notes:
This may or may not share a root cause with a separate reported issue regarding Subsurface Profile SSS also failing on Mobile in 5.8 (also GBuffer/data-pipeline related, also working correctly on Desktop) — both point toward Mobile Deferred’s GBuffer/data layout changes in 5.8 (e.g. “Extended GBuffer” option) as a possible common factor, though this has not been conclusively confirmed for the Distance Field issue specifically. Happy to provide a minimal repro project if needed.
What Type of Bug are you experiencing?
Rendering (Graphics / Niagara)
Steps to Reproduce
- Create a new UE 5.8 project, set Mobile Shading = Deferred Shading.
- Confirm Project Settings → Engine → Rendering → Lighting → “Generate Mesh Distance Fields” = True (project default).
- Confirm “r.Mobile.DistanceFieldAO” = 1 (per its own console description: “Whether the distance field AO feature is allowed for Mobile Platforms, which is used to implement shadows of Movable sky lights from static meshes”).
- Set up a scene with a Movable Sky Light and a Static Mesh (e.g. a sphere), matching the conditions described in the cvar’s own documentation.
- Create a simple material using the “Distance To Nearest Surface” material node plugged into Emissive, applied to the same Static Mesh.
- View in PC/Desktop preview — observe correct distance field gradient output (black-to-white falloff matching the mesh’s distance field).
- Switch to Mobile Preview (Android Vulkan) — observe solid black output with no gradient whatsoever.
- Separately, disable Lumen (r.DynamicGlobalIlluminationMethod = 0) and observe the DFAO effect on the Movable Sky Light + Static Mesh setup — works correctly on Desktop, but produces no visible AO/shadowing effect on Mobile under the same setup.
Expected Result
With “r.Mobile.DistanceFieldAO” = 1 and “Generate Mesh Distance Fields” enabled, Mesh Distance Field data should be correctly generated and readable on Mobile, matching Desktop behavior — both for the DFAO shadowing effect described in the cvar’s documentation and for direct material-level access via “Distance To Nearest Surface”.
Observed Result
Mesh Distance Field data appears to be entirely inaccessible on Mobile.
Attached screenshots, in order:
- Material Graph — test material using “Absolute World Position (Excluding Material Offsets)” → “Distance To Nearest Surface” → plugged into Emissive Color, applied to a Sphere static mesh.
- Desktop (PC) result — correct distance field gradient is visible (white-to-black falloff near the contact/shadow area with surrounding geometry), confirming the distance field data is valid and correctly generated and read.
- Mobile (Android Vulkan) result — the exact same material on the exact same mesh renders as solid black with no gradient whatsoever, indicating the distance field data is not being read on this platform.
Separately, DFAO shadowing (per the documented use case of “r.Mobile.DistanceFieldAO”: Movable Sky Light shadows on Static Meshes) also shows no effect on Mobile, despite the cvar being enabled (value = 1) and the documented prerequisites being met (Generate Mesh Distance Fields = True). This is not a Lumen-related expectation issue — the test was performed with Lumen disabled (r.DynamicGlobalIlluminationMethod = 0) on both platforms for a fair comparison.
This was confirmed working correctly on UE 5.7 with the same project setup, indicating this is a regression introduced in 5.8 rather than a pre-existing limitation.
Affects Versions
5.8
Platform(s)
Android
iOS


