---
title: "makeArgumentEncoder(arguments:)"
framework: metal
role: symbol
role_heading: Instance Method
path: "metal/mtldevice/makeargumentencoder(arguments:)"
---

# makeArgumentEncoder(arguments:)

Creates a new argument encoder for an array of arguments.

## Declaration

```swift
func makeArgumentEncoder(arguments: [MTLArgumentDescriptor]) -> (any MTLArgumentEncoder)?
```

## Parameters

- `arguments`: An array of doc://com.apple.metal/documentation/Metal/MTLArgumentDescriptor instances that you need to sort by their doc://com.apple.metal/documentation/Metal/MTLArgumentDescriptor/index properties in monotonically increasing order.

## See Also

### Creating argument buffer encoders

- [argumentBuffersSupport](metal/mtldevice/argumentbufferssupport.md)
- [maxArgumentBufferSamplerCount](metal/mtldevice/maxargumentbuffersamplercount.md)
- [makeArgumentEncoder(bufferBinding:)](metal/mtldevice/makeargumentencoder(bufferbinding:).md)
