---
title: storageMode
framework: metal
role: symbol
role_heading: Instance Property
path: metal/mtlheapdescriptor/storagemode
---

# storageMode

The storage mode for the heaps you create with this descriptor.

## Declaration

```swift
var storageMode: MTLStorageMode { get set }
```

## Discussion

Discussion For devices with Apple silicon, you can create a heap with either the MTLStorageMode.private or the MTLStorageMode.shared storage mode. However, you can only create heaps with private storage on macOS devices without Apple silicon. The resources you allocate from a heap inherit that heap’s storage mode. This property’s default value is MTLStorageMode.private.

## See Also

### Configuring a heap

- [type](metal/mtlheapdescriptor/type.md)
- [cpuCacheMode](metal/mtlheapdescriptor/cpucachemode.md)
- [hazardTrackingMode](metal/mtlheapdescriptor/hazardtrackingmode.md)
- [resourceOptions](metal/mtlheapdescriptor/resourceoptions.md)
- [size](metal/mtlheapdescriptor/size.md)
- [sparsePageSize](metal/mtlheapdescriptor/sparsepagesize.md)
