<!--
{
  "availability" : [
    "iOS: 18.0.0 -",
    "iPadOS: 18.0.0 -",
    "macCatalyst: 18.0.0 -",
    "macOS: 15.0.0 -",
    "tvOS: 26.0.0 -",
    "visionOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "RealityKit",
  "identifier" : "/documentation/RealityKit/LowLevelMesh/VertexSemantic",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration",
  "symbol" : {
    "kind" : "Enumeration",
    "modules" : [
      "RealityKit"
    ],
    "preciseIdentifier" : "s:17RealityFoundation12LowLevelMeshC14VertexSemanticO"
  },
  "title" : "LowLevelMesh.VertexSemantic"
}
-->

# LowLevelMesh.VertexSemantic

Designates the intended usage of a vertex attribute.

```
enum VertexSemantic
```

## Overview

RealityKit consults the vertex semantic when interpreting the data in your [`LowLevelMesh`](/documentation/RealityKit/LowLevelMesh).
For example, an attribute with the semantic value of [`LowLevelMesh.VertexSemantic.position`](/documentation/RealityKit/LowLevelMesh/VertexSemantic/position)
determines the position of a vertex.

## Topics

### Specifying intended use

[`case bitangent`](/documentation/RealityKit/LowLevelMesh/VertexSemantic/bitangent)

The semantic for surface bitangent vector data.

[`case color`](/documentation/RealityKit/LowLevelMesh/VertexSemantic/color)

The semantic for per-vertex color data.

[`case normal`](/documentation/RealityKit/LowLevelMesh/VertexSemantic/normal)

The semantic for surface normal data.

[`case position`](/documentation/RealityKit/LowLevelMesh/VertexSemantic/position)

The semantic for vertex position data.

[`case tangent`](/documentation/RealityKit/LowLevelMesh/VertexSemantic/tangent)

The semantic for surface tangent vector data.

[`case unspecified`](/documentation/RealityKit/LowLevelMesh/VertexSemantic/unspecified)

The semantic that doesn’t specify the role of the vertex.

[`case uv0`](/documentation/RealityKit/LowLevelMesh/VertexSemantic/uv0)

The semantic for the first UV channel, also known as UV0.

[`case uv1`](/documentation/RealityKit/LowLevelMesh/VertexSemantic/uv1)

The semantic for the second UV channel, also known as UV1.

[`case uv2`](/documentation/RealityKit/LowLevelMesh/VertexSemantic/uv2)

The semantic for the third UV channel, also known as UV2.

[`case uv3`](/documentation/RealityKit/LowLevelMesh/VertexSemantic/uv3)

The semantic for the fourth UV channel, also known as UV3.

[`case uv4`](/documentation/RealityKit/LowLevelMesh/VertexSemantic/uv4)

The semantic for the fifth UV channel, also known as UV4.

[`case uv5`](/documentation/RealityKit/LowLevelMesh/VertexSemantic/uv5)

The semantic for the sixth UV channel, also known as UV5.

[`case uv6`](/documentation/RealityKit/LowLevelMesh/VertexSemantic/uv6)

The semantic for the seventh UV channel, also known as UV6.

[`case uv7`](/documentation/RealityKit/LowLevelMesh/VertexSemantic/uv7)

The semantic for the eighth UV channel, also known as UV7.

### Comparing enumeration values

## Relationships

### Conforms To

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

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

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

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

---

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)