Water is complicated in anything.
One of, if not the best, implementation for fluid is obviously Nvidia’s GameWorks. However like everything Nvidia it’s “discontinued”. Meaning you can sign up as dev, download 5+ year old code, and implement it on your own.
CryEngine does a really good job at maintaining decent rendering performance and looking good. But you really need to know how to code - out the box it doesn’t even have render targets, which for most water stuff you are definitely going to need.
Unity is a bit of a dud on the realistic rendering side. It’s not that it cannot, it’s that the performance it gets with really good texturing/models and a runtime GI is about the same as Unreal’s.
I’d say to try and pull the Nvidia code first, and see if you can implement it into anything yourself - including unreal.
IF you can do that, then try it out, bench performance, and if not satisfying move to something else…
No way to know until you implement and test - and keep in mind that you should test on whatever type of system low specs you want to have as a minimum requirement.