Cloth, Mesh or Terrain for wavy sea water?

It’s pretty straight-forward question, but basically I’m wondering which one of these methods would be least demanding on the hardware and which one of these would look better for such a thing.

Thinking about using perlin noise and updating the mesh/terrain constantly.

Definitely Mesh.

  • Cloth is designed for physical simulation of thin surfaces - it’s expensive and somewhat fragile.
  • Terrain is designed for heightmap-based terrain surfaces - it’s not designed to be changed often during runtime, and it has lots of additional features you don’t need (trees, grass, splatmaps).

In 3D?

Use a plane, add a colour, and then add the following script to it:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Ocean : MonoBehaviour
{
	public Renderer water;

	void Update ()
	{
		water.material.mainTextureOffset = new Vector2 (0, Time.time / 100);
		water.material.SetTextureOffset ("_DetailAlbedoMap", new Vector2 (0, Time.time / 80)); 
	}
}

Source: Optimizing Graphics in Unity - Unity Learn