Disable Material feature by distance

Yeah at this point I think probably the most reasonable approach is to use the LODs to change between material instances. Nonetheless, I am still pretty attracted to the idea of having very complex materials (e.g. a material layering system) that allow to disable different features by distance with a low impact in GPU.

I have to admit I saw this post (last GIF) about how they fade out material features in The Last of Us Part 2 and I thought it would be straightforward to implement in Unreal.

Thank you for your help.