---
title: "readVertices(at:_:)"
framework: realitykit
role: symbol
role_heading: Instance Method
path: "realitykit/lowlevelmeshresource/readvertices(at:_:)"
---

# readVertices(at:_:)

Reads a vertex buffer synchronously on the CPU. The buffer is only valid for the lifetime of the callback.

## Declaration

```swift
final func readVertices<R, E>(at index: Int, _ body: (RawSpan) throws(E) -> R) throws(E) -> R where E : Error, R : ~Copyable
```

## Parameters

- `index`: The vertex buffer index to read.
- `body`: A closure that receives a read-only span over the buffer’s bytes.

## Discussion

Discussion note: Any error thrown by body.

## See Also

### Accessing vertex data

- [updateVertices(at:_:)](realitykit/lowlevelmeshresource/updatevertices(at:_:).md)
- [replaceVertices(at:_:)](realitykit/lowlevelmeshresource/replacevertices(at:_:).md)
- [readVertices(at:commandBuffer:)](realitykit/lowlevelmeshresource/readvertices(at:commandbuffer:).md)
- [replaceVertices(at:commandBuffer:)](realitykit/lowlevelmeshresource/replacevertices(at:commandbuffer:).md)
