---
title: "setArgumentBuffer(_:startOffset:arrayElement:)"
framework: metal
role: symbol
role_heading: Instance Method
path: "metal/mtlargumentencoder/setargumentbuffer(_:startoffset:arrayelement:)"
---

# setArgumentBuffer(_:startOffset:arrayElement:)

Specifies an array element within a buffer where the encoder writes argument data.

## Declaration

```swift
func setArgumentBuffer(_ argumentBuffer: (any MTLBuffer)?, startOffset: Int, arrayElement: Int)
```

## Parameters

- `argumentBuffer`: The destination buffer that represents an argument buffer.
- `startOffset`: The starting byte offset of the buffer data.
- `arrayElement`: The desired element of the argument buffer array targeted by encoding.

## See Also

### Creating an argument buffer

- [setArgumentBuffer(_:offset:)](metal/mtlargumentencoder/setargumentbuffer(_:offset:).md)
- [encodedLength](metal/mtlargumentencoder/encodedlength.md)
