Instead of using a material texture, maybe try putting an invisible non-cancollide anchored part with a “Texture” object using the texture’s image id on the surface of the part.
the water texture is on a mesh with bones that simulate waves. the texture is also a marieral variant because it needs a normalmap and a few other properties