Psyclone is a volumetric effect that does ray-marching internally but it has limitations. First, some sort of geometry must be present in order for the shader to be called by Camera. Psyclone builds a cube on which to do the rendering but you’re not aware that it’s there. The resulting image is sort of projected onto the faces of this cube.
The second problem is that it doesn’t cast really accurate shadows because image is really being projected onto the faces of the cube. For example, if you turned on light rays and tried to shine the light from the top of the cloud pointing down and viewed the scene from the side, you’d see the rays begin from some invisible bounding box.
Psyclone also doesn’t respond to lights that exist inside the volume. It’s really meant to do clouds which are usually only illuminated by the sun which is very far away.
Technically, a lot of shaders exist in 3D space e.g. anything that uses Perlin Noise. If there were a way of creating volumes that are ray-marched and the ray-marcher called a shader, neat things would be possible.

