<!--
{
  "availability" : [
    "iOS: 12.0.0 -",
    "iPadOS: 12.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.14.0 -",
    "tvOS: 12.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Metal",
  "identifier" : "/documentation/Metal/MTLIndirectCommandBufferDescriptor/inheritBuffers",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Metal"
    ],
    "preciseIdentifier" : "c:objc(cs)MTLIndirectCommandBufferDescriptor(py)inheritBuffers"
  },
  "title" : "inheritBuffers"
}
-->

# inheritBuffers

A Boolean value that determines where commands in the indirect command buffer get their buffer arguments from when you execute them.

```
var inheritBuffers: Bool { get set }
```

## Discussion

Always set this property explicitly.

If you set the value to <doc://com.apple.documentation/documentation/Swift/true>, don’t set buffer arguments when you encode commands into the indirect command buffer. The commands use (inherit) the buffer arguments that you set on the parent encoder.

If you set the value to <doc://com.apple.documentation/documentation/Swift/false>, set the buffer arguments when you encode the commands into the indirect command buffer. The commands ignore any buffer arguments set on the parent encoder.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)