If you’re looking to make a river, I would just use Unreal Engine’s water tools to do so. You get a river that’s performant, with a robust shading model that can be relatively physically accurate.
If you’re looking for light transport behavior that accurate in UE, I’m reasonably sure you’ll have to program it yourself. When you say 'light breaking between the IORs, are you referring to dispersion from light refracting through water?