<!--
{
  "availability" : [
    "iOS: 9.0.0 - 11.0.0",
    "iPadOS: 9.0.0 - 11.0.0",
    "macCatalyst: 13.1.0 - 13.1.0",
    "macOS: 10.11.0 - 10.13.0",
    "tvOS: 9.0.0 - 11.0.0",
    "visionOS: 1.0.0 - 1.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "ModelIO",
  "identifier" : "/documentation/ModelIO/MDLMesh/makeVerticesUnique()",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Model I/O",
      "ModelIO"
    ],
    "preciseIdentifier" : "c:objc(cs)MDLMesh(im)makeVerticesUnique"
  },
  "title" : "makeVerticesUnique()"
}
-->

# makeVerticesUnique()

Modifies the mesh’s vertex buffers so that no vertices are shared by multiple faces.

```
func makeVerticesUnique()
```

## Discussion

If the same entry in the mesh’s vertex buffer is used in multiple faces (according to the index buffers of the mesh’s submeshes), this method duplicates that vertex data and modifies the vertex and index buffers accordingly. If such operations require a larger vertex or index buffer, this method uses the [`allocator`](/documentation/ModelIO/MDLMeshBuffer/allocator) property of the buffer in question to allocate new storage.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)