I developed this ocean blueprint when I was learning ocean rendering. For the wave shape, I used the gerstner wave formula in GPUGEM and write a for loop to control the shape more easily for artist. I also calculated a foam mask inside the for loop. For the shading I used Unreal's single layer water material and its own pbr. I also applied some LOD for the material and mesh.