---
title: MTL4PipelineDescriptor
framework: metal
role: symbol
role_heading: Class
path: metal/mtl4pipelinedescriptor
---

# MTL4PipelineDescriptor

Base type for descriptors you use for building pipeline state objects.

## Declaration

```swift
class MTL4PipelineDescriptor
```

## Topics

### Instance Properties

- [label](metal/mtl4pipelinedescriptor/label.md)
- [options](metal/mtl4pipelinedescriptor/options.md)

## Relationships

### Inherits From

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

### Inherited By

- [MTL4ComputePipelineDescriptor](metal/mtl4computepipelinedescriptor.md)
- [MTL4MachineLearningPipelineDescriptor](metal/mtl4machinelearningpipelinedescriptor.md)
- [MTL4MeshRenderPipelineDescriptor](metal/mtl4meshrenderpipelinedescriptor.md)
- [MTL4RenderPipelineDescriptor](metal/mtl4renderpipelinedescriptor.md)
- [MTL4TileRenderPipelineDescriptor](metal/mtl4tilerenderpipelinedescriptor.md)

### Conforms To

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

## See Also

### Pipeline harvesting

- [MTL4PipelineDataSetSerializer](metal/mtl4pipelinedatasetserializer.md)
- [MTL4PipelineDataSetSerializerConfiguration](metal/mtl4pipelinedatasetserializerconfiguration.md)
- [MTL4PipelineDataSetSerializerDescriptor](metal/mtl4pipelinedatasetserializerdescriptor.md)
- [MTL4PipelineOptions](metal/mtl4pipelineoptions.md)
