You could do a trick and it is to use some cell automata to emulate the water and sand at low resolution. You can give it a pixel art look or maybe use a SDF on shader to give them another look. For the water you will have to run few iterations per frame. But it should be fast enough.