---
title: mutability
framework: metal
role: symbol
role_heading: Instance Property
path: metal/mtlpipelinebufferdescriptor/mutability
---

# mutability

A mutability option that determines whether you can update a buffer’s contents before related commands use the buffer.

## Declaration

```swift
var mutability: MTLMutability { get set }
```

## Discussion

Discussion The default value is MTLMutability.default. If you don’t explicitly declare mutability, Metal uses the following default behaviors: Regular buffers are mutable by default, and Metal treats MTLMutability.default as if it were MTLMutability.mutable. Argument buffers are immutable by default, and Metal treats MTLMutability.default as if it were MTLMutability.immutable.

## See Also

### Setting buffer mutability

- [MTLMutability](metal/mtlmutability.md)
