<!--
{
  "availability" : [
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ARKit",
  "identifier" : "/documentation/ARKit/GeometrySource",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "ARKit"
    ],
    "preciseIdentifier" : "s:5ARKit14GeometrySourceV"
  },
  "title" : "GeometrySource"
}
-->

# GeometrySource

A container for geometrical vector data.

```
struct GeometrySource
```

## Overview

Mesh-anchor geometry (<doc://com.apple.documentation/documentation/RealityKit/MeshDescriptor>) uses geometry sources to hold 3D data like vertices and normals in an efficent, array-like format. A Metal buffer wraps the data and other properties specify how to interpret that data.

If [`componentsPerVector`](/documentation/ARKit/GeometrySource/componentsPerVector) is greater than one, the element type of the geometry-source array is itself a sequence (pairs, triplets, and so on).

## Topics

### Inspecting geometry data

[`buffer`](/documentation/ARKit/GeometrySource/buffer)

A Metal buffer that contains per-vector data for a geometry source.

[`count`](/documentation/ARKit/GeometrySource/count)

The number of vectors in a geometry source.

[`format`](/documentation/ARKit/GeometrySource/format)

The vertex format for data in a geometry source’s buffer.

[`componentsPerVector`](/documentation/ARKit/GeometrySource/componentsPerVector)

The number of scalar components in each vector in a geometry source.

[`offset`](/documentation/ARKit/GeometrySource/offset)

The offset, in bytes, from the beginning of a geometry source’s buffer.

[`stride`](/documentation/ARKit/GeometrySource/stride)

The number of bytes between one vector and another in a geometry source’s buffer.

[`description`](/documentation/ARKit/GeometrySource/description)

A textual representation of this geometry source.

## Relationships

### Conforms To

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Sendable`](/documentation/Swift/Sendable)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`Equatable`](/documentation/Swift/Equatable)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)