<!--
{
  "availability" : [
    "iOS: 26.0.0 -",
    "iPadOS: 26.0.0 -",
    "macCatalyst: 26.0.0 -",
    "macOS: 26.0.0 -",
    "tvOS: 26.0.0 -",
    "visionOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Metal",
  "identifier" : "/documentation/Metal/MTL4CommandAllocator/reset()",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Metal"
    ],
    "preciseIdentifier" : "c:objc(pl)MTL4CommandAllocator(im)reset"
  },
  "title" : "reset()"
}
-->

# reset()

Marks the command allocator’s heaps for reuse.

```
func reset()
```

## Discussion

Calling this method allows new [`MTL4CommandBuffer`](/documentation/Metal/MTL4CommandBuffer) to reuse its existing internal
memory heaps to encode new GPU commands.

You are responsible to ensure that all command buffers with memory originating
from this allocator instance are complete before calling resetting it.

---

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)