---
title: LowLevelMeshResource
framework: realitykit
role: symbol
role_heading: Class
path: realitykit/lowlevelmeshresource
---

# LowLevelMeshResource

A container for vertex and index data in a custom format.

## Declaration

```swift
final class LowLevelMeshResource
```

## Overview

Overview Use LowLevelMeshResource when you want to bring your own vertex format to the renderer or update your data frequently. Vertex and index data can be written directly on the CPU through span-based accessors, or on the GPU by writing to a MTLBuffer returned by readVertices(at:commandBuffer:) / replaceVertices(at:commandBuffer:).

## Topics

### Describing the mesh layout

- [descriptor](realitykit/lowlevelmeshresource/descriptor-swift.property.md)
- [LowLevelMeshResource.Descriptor](realitykit/lowlevelmeshresource/descriptor-swift.struct.md)
- [LowLevelMeshResource.Layout](realitykit/lowlevelmeshresource/layout.md)
- [LowLevelMeshResource.Attribute](realitykit/lowlevelmeshresource/attribute.md)
- [LowLevelMeshResource.VertexSemantic](realitykit/lowlevelmeshresource/vertexsemantic.md)

### Accessing vertex data

- [readVertices(at:_:)](realitykit/lowlevelmeshresource/readvertices(at:_:).md)
- [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)

### Accessing index data

- [readIndices(_:)](realitykit/lowlevelmeshresource/readindices(_:).md)
- [updateIndices(_:)](realitykit/lowlevelmeshresource/updateindices(_:).md)
- [replaceIndices(_:)](realitykit/lowlevelmeshresource/replaceindices(_:).md)
- [readIndices(commandBuffer:)](realitykit/lowlevelmeshresource/readindices(commandbuffer:).md)
- [replaceIndices(commandBuffer:)](realitykit/lowlevelmeshresource/replaceindices(commandbuffer:).md)

## See Also

### GPU resources

- [LowLevelMeshPart](realitykit/lowlevelmeshpart.md)
- [LowLevelMeshInstance](realitykit/lowlevelmeshinstance.md)
- [LowLevelMeshInstanceArray](realitykit/lowlevelmeshinstancearray.md)
- [LowLevelInstanceTransformResource](realitykit/lowlevelinstancetransformresource.md)
- [LowLevelBufferResource](realitykit/lowlevelbufferresource.md)
- [LowLevelBufferSlice](realitykit/lowlevelbufferslice.md)
- [LowLevelTextureResource](realitykit/lowleveltextureresource.md)
- [LowLevelMaterialResource](realitykit/lowlevelmaterialresource.md)
- [LowLevelDeviceResource](realitykit/lowleveldeviceresource.md)
- [BoundingSphereBox](realitykit/boundingspherebox.md)
