Each shot contains Niagara emitters placed as spawnables in the sequencer so that that different ones spawn for each shot.
This is the basic Niagara emitter that I placed around the scene and tweaked for each shot.
It took a very long time to find a combination of settings that felt right and did not look too much like smoke.
I combined two cloud textures to try and give the sprites some fake shadowing.
It is kind of a hack, but I used a plane to cast a shadow for the incoming storm.
I layered in some Niagara emitters spawning little rocks to get the feeling of pebbles and grains of sand bouncing around in the foreground.
They have collisions turned on so they can interact with objects.
I have a few different emitters with different types variations to create natural feeling stream. You could probably do it with one emitter... but I am not at the level.
I also used a decal with an animated normal map to get the feeling of the sand being pushed along the ground with by the wind.
I added a custom rotator to control the direction of the wind effect.
A bit of camera shake doesn't hurt.
This shot was build using a mixture of emitters and animated decals.
The shots with sand caving in also used a normal map animated with a panner node.
I recently finished a short film "Breadth" in Unreal Engine 4.
It features a sandstorm which I built using a mixture of Niagara Emitters and animated textures.
This is a little breakdown of what went into it.
The full project can be found here!