How to implement dynamic weather system on landscape

On the same map, we have different weather systems. Landscape in different weather systems requires different material representations, including rendering materials and physical materials. We tried to replace the rendered and physical materials with the weather dynamically at runtime, but they didn’t work. Is there a solution?

Here’s how we replace the material:

  1. Get the ULandScapeComponent component in the level at runtime
  2. Change ULandScapeComponent Component’s OverrideMaterial to another one

Here’s how we replace the phys material:

  1. Select the landscape’s material instance
  2. change the Phys Material to which we need


we have found that it’s invalid to change phys material even not in runtime