---
title: LowLevelMesh.Layout
framework: realitykit
role: symbol
role_heading: Structure
path: realitykit/lowlevelmesh/layout
---

# LowLevelMesh.Layout

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

## Declaration

```swift
struct Layout
```

## Overview

Overview Applications typically express their types using contiguous or interleaved (strided) memory. If you interleave your data (meaning that you represent it with a structure), use one Layout object where bufferStride is equal to MemoryLayout<Type>.stride(). If you store your attributes separately, use one Layout per attribute.

## Topics

### Creating a low-level mesh layout

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

### Describing a low-level mesh layout

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

### Creating a layout

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

### Configuring vertex stepping

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

## Relationships

### Conforms To

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

## See Also

### Updatable meshes

- [Integrating virtual objects with your environment](realitykit/integrating-virtual-objects-with-your-environment.md)
- [Creating a spatial drawing app with RealityKit](realitykit/creating-a-spatial-drawing-app-with-realitykit.md)
- [Creating a plane with low-level mesh](realitykit/creating-a-plane-with-low-level-mesh.md)
- [LowLevelMesh](realitykit/lowlevelmesh.md)
- [LowLevelMesh.Descriptor](realitykit/lowlevelmesh/descriptor-swift.struct.md)
- [LowLevelMesh.Part](realitykit/lowlevelmesh/part.md)
- [LowLevelMesh.Attribute](realitykit/lowlevelmesh/attribute.md)
- [LowLevelMesh.VertexSemantic](realitykit/lowlevelmesh/vertexsemantic.md)
- [LowLevelMesh.PartsCollection](realitykit/lowlevelmesh/partscollection.md)
- [LowLevelBuffer](realitykit/lowlevelbuffer.md)
- [LowLevelInstanceData](realitykit/lowlevelinstancedata.md)
