Manual Scripting API Search scripting... unity.
com
Version: Unity 6.1 (6000.1) C#
Mesh.vertices
Leave feedback
SWITCH TO MANUAL
public Vector3[] vertices;
Description
Returns a copy of the vertex positions or assigns a new vertex positions array.
The number of vertices in the Mesh is changed by assigning a vertex array with a different number of vertices.
If you resize the vertex array then all other vertex attributes (normals, colors, tangents, UVs) are automatically resized too. RecalculateBounds is automatically invoked if no vertices
have been assigned to the Mesh when setting the vertices.
Note that this method returns the vertices in local space, not in world space.
using UnityEngine;
public class Example : MonoBehaviour
{
Mesh mesh;
Vector3[] vertices;
void Start()
{
mesh = GetComponent<MeshFilter>().mesh;
vertices = mesh.vertices;
}
void Update()
{
for (var i = 0; i < vertices.Length; i++)
{
vertices[i] += Vector3.up * Time.deltaTime;
}
// assign the local vertices array into the vertices array of the Mesh.
mesh.vertices = vertices;
mesh.RecalculateBounds();
}
}
Note: To make changes to the vertices it is important to copy the vertices from the Mesh. Once the vertices have been copied and changed the vertices can be reassigned back to
the Mesh.
Did you find this page useful? Please give it a rating:
Report a problem on this page
Is something described here not working as you expect it to? It might be a Known Issue. Please check with the Issue Tracker at issuetracker.unity3d.com .
Copyright ©2005-2025 Unity Technologies. All rights reserved. Built from: 6000.1.15f1 (090817289254). Built on: 2025-07-28.
Tutorials Community Answers Knowledge Base Forums Asset Store Terms of use Legal Privacy Policy Cookies Do Not Sell or Share My Personal
Information Your Privacy Choices (Cookie Settings)