Do i have to use shared vertices if i want my proceduraly generated mesh to look smooth?

I made a procedurally generated island and it came out looking like this

to generate this mesh each face here has it’s own unique vertices, so do i have to use shared vertices if i want a decent smooth looking terrain?

No, you don’t have to use shared vertices. However having them seperate when it’s not necessary just create additional problems. First of all when every triangle has its own vertices using RecalculateNormals is pretty pointless since it will make every triangle flatshaded. So if you want the mesh to look smooth, you have to manually calculate the normal vectors for each vertex. Of course in order for the mesh to look smooth, all vertices which essentially belong to the same vertex position have to have the exact same normal vector. If they don’t, the mesh wouldn’t look smooth.

If you want to know how to calculate the shared normal, just have a look at this question.