Distance Field in shader and particle collisions on non Epic settings

I have a problem. I’m trying to use Distance fields in shaders to make some interaction of my effects with surfaces of level.
Also I used collisions with distance fields for GPU particles.
And everything was perfect, before I tried to change quality settings. And it broke everything. They just stops working. But I need scalability!
Therefore, I already done a number of effects that’s purely rely on distance fields. Some of my effects can’t be done without them at all.
The worst part of the story, that distance fields is controlled by shadow quality setting to which I can’t access form material nodes like quality switch or feature level switch.
Also, when distance fields is off, nodes that samples them like distance to nearest surface e.t.c., returns 0, and if I use them as mask the whole effect disappears.
So I can’t even check that there is no distance fields and pass there something else.
But even if I could, particle collisions still will be broken, and there is no way to fallback on depth collision.

Do anyone knows a solution to this problems?

You can modify the scalability settings to do whatever you want. Scalability Reference | Unreal Engine Documentation

By modifying scalability settings I can not do whatever I want. And it does not solve the problem.
Because I do not need to override this settings. They’re pretty fine. Besides there is no documented options for distance fields.
What I need is the universal and default method to fallback GPU particle collision module and shaders when distance fields is not available by settings setup.

Owen is pointing out that you can make it so that Shadow quality does not disable distance fields. r.DistanceFieldAO=0 in a scalability bucket will cause distance fields to be disabled. Just remove those from the low quality buckets.

That’s a bug, will fix

That can be done, but probably not something I will get to any time soon.

Thanks a lot for answers!
Didn’t noticed this option exist. It’s not described in the documentation. I’ll try it.
And looking forward to fixes!