Hi there,
When I turn off the DFAO in 5.7, it will not only turn off the AO function but seems to disable the whole Global Distance Fields system, which leads to wrong collision when using Niagara GPU particles with ‘GPU Distance Fields’ collision option.
There is a similar feedback in 2025, see this link:
And the official modification about this issue are Fix incorrect rendering of materials that require global distance field when using Path Tracing.
I believe this is because the branch condition in DistanceFieldAmbientOcclusion.cpp, line 772 is probably wrong, considering a level where megalights, lumen, path tracing, debug draw are all turned off, then as the code logic the SDF is only controlled by DFAO itself, so when DFAO is off, the SDF is off. When DFAO is off, there is noway to turn on Niagara GPU SDF collision but to turn on path tracing(bShouldPrepareForMaterialsOrNiagara), but path tracing is not supposed to be relevant with the Niagara system here.
I am not sure about it, but maybe the flag bShouldPrepareForMaterialsOrNiagara should outside the branch condition.
Looking forward to your reply, and sincerely thank you for the clarification!
[Attachment Removed]