<!--
{
  "availability" : [
    "iOS: 13.0.0 -",
    "iPadOS: 13.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.15.0 -",
    "tvOS: 13.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Metal",
  "identifier" : "/documentation/Metal/MTLHazardTrackingMode/default",
  "metadataVersion" : "0.1.0",
  "role" : "Case",
  "symbol" : {
    "kind" : "Case",
    "modules" : [
      "Metal"
    ],
    "preciseIdentifier" : "c:@E@MTLHazardTrackingMode@MTLHazardTrackingModeDefault"
  },
  "title" : "MTLHazardTrackingMode.default"
}
-->

# MTLHazardTrackingMode.default

An option that applies the default tracking behavior in Metal based on the resource or heap type you’re creating.

```
case `default`
```

## Discussion

When you choose the [`MTLHazardTrackingMode.default`](/documentation/Metal/MTLHazardTrackingMode/default) option, Metal assigns a tracking mode based on the
type you’re creating:

- The default tracking mode for an [`MTLHeap`](/documentation/Metal/MTLHeap) is [`MTLHazardTrackingMode.untracked`](/documentation/Metal/MTLHazardTrackingMode/untracked) because heaps typically contain many resources that you manage manually.
- The default tracking mode for a type that inherits [`MTLResource`](/documentation/Metal/MTLResource) is [`MTLHazardTrackingMode.tracked`](/documentation/Metal/MTLHazardTrackingMode/tracked) because individual resources benefit from automatic hazard tracking.

For example, Metal tracks hazards for [`MTLBuffer`](/documentation/Metal/MTLBuffer) and [`MTLTexture`](/documentation/Metal/MTLTexture) instances
when you create them with [`MTLHazardTrackingMode.default`](/documentation/Metal/MTLHazardTrackingMode/default).

For more information, see [`MTLHazardTrackingMode`](/documentation/Metal/MTLHazardTrackingMode).

---

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)