---
title: MTLAccelerationStructureInstanceDescriptorType
framework: metal
role: symbol
role_heading: Enumeration
path: metal/mtlaccelerationstructureinstancedescriptortype
---

# MTLAccelerationStructureInstanceDescriptorType

Options for specifying different kinds of instance types.

## Declaration

```swift
enum MTLAccelerationStructureInstanceDescriptorType
```

## Topics

### Specifying the instance descriptor type

- [MTLAccelerationStructureInstanceDescriptorType.default](metal/mtlaccelerationstructureinstancedescriptortype/default.md)
- [MTLAccelerationStructureInstanceDescriptorType.userID](metal/mtlaccelerationstructureinstancedescriptortype/userid.md)
- [MTLAccelerationStructureInstanceDescriptorType.motion](metal/mtlaccelerationstructureinstancedescriptortype/motion.md)
- [MTLAccelerationStructureInstanceDescriptorType.indirect](metal/mtlaccelerationstructureinstancedescriptortype/indirect.md)
- [MTLAccelerationStructureInstanceDescriptorType.indirectMotion](metal/mtlaccelerationstructureinstancedescriptortype/indirectmotion.md)

### Initializers

- [init(rawValue:)](metal/mtlaccelerationstructureinstancedescriptortype/init(rawvalue:).md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Specifying the instance structures

- [instanceDescriptorType](metal/mtlinstanceaccelerationstructuredescriptor/instancedescriptortype.md)
- [instancedAccelerationStructures](metal/mtlinstanceaccelerationstructuredescriptor/instancedaccelerationstructures.md)
