---
title: MTLVertexAttribute
framework: metal
role: symbol
role_heading: Class
path: metal/mtlvertexattribute
---

# MTLVertexAttribute

An instance that represents an attribute of a vertex function.

## Declaration

```swift
class MTLVertexAttribute
```

## Overview

Overview An MTLVertexAttribute instance represents an attribute for per-vertex input in a vertex function. You use vertex attribute instances to inspect the inputs of a vertex function by examining the vertexAttributes property of the corresponding MTLFunction instance.

## Topics

### Describing the attribute

- [name](metal/mtlvertexattribute/name.md)
- [attributeIndex](metal/mtlvertexattribute/attributeindex.md)
- [attributeType](metal/mtlvertexattribute/attributetype.md)
- [isActive](metal/mtlvertexattribute/isactive.md)
- [isPatchControlPointData](metal/mtlvertexattribute/ispatchcontrolpointdata.md)
- [isPatchData](metal/mtlvertexattribute/ispatchdata.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Function arguments

- [MTLAttribute](metal/mtlattribute.md)
- [MTLArgument](metal/mtlargument.md)
- [MTLAutoreleasedArgument](metal/mtlautoreleasedargument.md)
- [MTLArgumentType](metal/mtlargumenttype.md)
- [MTLArgumentAccess](metal/mtlargumentaccess.md)
