ゲームオブジェクトの頂点の座標を取得することで、オブジェクトの配置などをより効率的に行うことが出来ます。
ゲームオブジェクトの頂点の座標を取得するには、MeshFilterコンポーネントからMeshデータを取得し、
で頂点座標の配列を取得します。
using UnityEngine;
public class Sample : MonoBehaviour
{
    void Start()
    {
        Mesh mesh = GetComponent<MeshFilter>().mesh;
        Vector3[] vertices = mesh.vertices;
        // 頂点座標を表示する
        foreach (Vector3 vertex in vertices)
        {
            // ローカル座標を表示
            Debug.Log("ローカル座標: " + vertex);
            // ワールド座標に変換して表示
            Vector3 worldPos = transform.TransformPoint(vertex);
            Debug.Log("ワールド座標: " + worldPos);
        }
    }
} 
            重複している頂点の座標を除くには、Listを使います。
using UnityEngine;
using System.Collections.Generic; // Listを使うため名前空間を追加
public class Sample : MonoBehaviour
{
    void Start()
    {
        Mesh mesh = GetComponent<MeshFilter>().mesh;
        Vector3[] vertices = mesh.vertices;
        // 重複しない頂点を格納するリスト
        List<Vector3> uniqueVertices = new List<Vector3>();
        // 重複をチェックしながらリストに追加
        foreach (Vector3 vertex in vertices)
        {
            if (!uniqueVertices.Contains(vertex))
            {
                uniqueVertices.Add(vertex);
            }
        }
        // 重複しない頂点座標を表示する
        foreach (Vector3 vertex in uniqueVertices)
        {
            // ローカル座標を表示
            Debug.Log("ローカル座標: " + vertex);
            // ワールド座標に変換して表示
            Vector3 worldPos = transform.TransformPoint(vertex);
            Debug.Log("ワールド座標: " + worldPos);
        }
    }
}
            下のコードを、頂点の座標を取得したいゲームオブジェクトにアタッチしてエディターを再生すると、コンソールにY座標が最大・最小の頂点の座標のローカル座標・ワールド座標の両方が表示されます。
using UnityEngine;
public class Sample : MonoBehaviour
{
    void Start()
    {
        Mesh mesh = GetComponent<MeshFilter>().mesh;
        Vector3[] vertices = mesh.vertices;
        // 最大・最小のy座標を持つ頂点を初期化
        Vector3 maxYVertex = vertices[0];
        Vector3 minYVertex = vertices[0];
        // 全ての頂点を調べて最大・最小のy座標を更新
        foreach (Vector3 vertex in vertices)
        {
            if (vertex.y > maxYVertex.y)
            {
                maxYVertex = vertex;
            }
            if (vertex.y < minYVertex.y)
            {
                minYVertex = vertex;
            }
        }
        // 最大・最小のy座標を持つ頂点のローカル座標を表示
        Debug.Log("最大y座標を持つ頂点 (ローカル座標): " + maxYVertex);
        Debug.Log("最小y座標を持つ頂点 (ローカル座標): " + minYVertex);
        // 最大・最小のy座標を持つ頂点のワールド座標を表示
        Debug.Log("最大y座標を持つ頂点 (ワールド座標): " + transform.TransformPoint(maxYVertex));
        Debug.Log("最小y座標を持つ頂点 (ワールド座標): " + transform.TransformPoint(minYVertex));
    }
}