Access to landscape layers dynamically

Is there a way to access landscape layers dynamically. For instance, I’d like to change the physical material of a landscape layer, or even disable it from the map completely.

I’m basically trying to overcome the fact that we can’t associate a physical material to a material function, and I have dynamic snow in my map so I’m trying all the possible hacky way to add the proper physical material to it.