How to create a 3D surface from a 2d array?

Hi, in my scene i have a 2d array with height values. I’m trying to create a surface the same dimensions as the array but each element raises that specific part of the surface up to that value. I’ve gotten some people telling me to use meshes or debug lines but I still don’t know how to go about this.

plus as a bonus, is it possible to color each point on the surface individually?that would make this 10x worth it.

You might want to look at Unity’s Terrain object.