---
title: LowLevelBufferResource
framework: realitykit
role: symbol
role_heading: Class
path: realitykit/lowlevelbufferresource
---

# LowLevelBufferResource

A GPU-managed buffer for arbitrary per-draw data such as uniforms and custom parameters.

## Declaration

```swift
final class LowLevelBufferResource
```

## Overview

Overview Buffer contents can be read and written synchronously on the CPU via span-based accessors, or on the GPU by writing to a MTLBuffer returned by replace(commandBuffer:).

## Topics

### Inspecting the descriptor

- [descriptor](realitykit/lowlevelbufferresource/descriptor-swift.property.md)
- [LowLevelBufferResource.Descriptor](realitykit/lowlevelbufferresource/descriptor-swift.struct.md)

### Reading buffer contents

- [read(commandBuffer:)](realitykit/lowlevelbufferresource/read(commandbuffer:).md)
- [read(_:)](realitykit/lowlevelbufferresource/read(_:).md)

### Replacing buffer contents

- [replace(commandBuffer:)](realitykit/lowlevelbufferresource/replace(commandbuffer:).md)
- [replace(_:)](realitykit/lowlevelbufferresource/replace(_:).md)

### Instance Methods

- [update(_:)](realitykit/lowlevelbufferresource/update(_:).md)

## See Also

### GPU resources

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