---
title: LowLevelMeshResource.Layout
framework: realitykit
role: symbol
role_heading: Structure
path: realitykit/lowlevelmeshresource/layout
---

# LowLevelMeshResource.Layout

An object that describes a set of attributes that share a buffer index, offset, and stride.

## Declaration

```swift
struct Layout
```

## Overview

Overview If you interleave your data (that is, represent it with a structure), use one Layout object where bufferStride equals MemoryLayout<Type>.stride. If you store attributes separately, use one Layout per attribute.

## Topics

### Creating a layout

- [init(bufferIndex:bufferOffset:bufferStride:stepFunction:stepRate:)](realitykit/lowlevelmeshresource/layout/init(bufferindex:bufferoffset:bufferstride:stepfunction:steprate:).md)

### Configuring vertex stepping

- [stepFunction](realitykit/lowlevelmeshresource/layout/stepfunction.md)
- [stepRate](realitykit/lowlevelmeshresource/layout/steprate.md)

### Initializers

- [init()](realitykit/lowlevelmeshresource/layout/init().md)

### Instance Properties

- [bufferIndex](realitykit/lowlevelmeshresource/layout/bufferindex.md)
- [bufferOffset](realitykit/lowlevelmeshresource/layout/bufferoffset.md)
- [bufferStride](realitykit/lowlevelmeshresource/layout/bufferstride.md)

## Relationships

### Conforms To

- [Equatable](swift/equatable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Describing the mesh layout

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