---
title: MTLSharedTextureHandle
framework: metal
role: symbol
role_heading: Class
path: metal/mtlsharedtexturehandle
---

# MTLSharedTextureHandle

A texture handle that can be shared across process address space boundaries.

## Declaration

```swift
class MTLSharedTextureHandle
```

## Overview

Overview MTLSharedTextureHandle objects may be passed between processes using XPC connections and then used to create a reference to the texture in another process. The texture in the other process needs to be created using the same MTLDevice on which the shared texture was originally created. To identify which device it was created on, you can use the device property of the MTLSharedTextureHandle object.

## Topics

### Identifying the shared texture handle

- [device](metal/mtlsharedtexturehandle/device.md)
- [label](metal/mtlsharedtexturehandle/label.md)

### Initializers

- [init(coder:)](metal/mtlsharedtexturehandle/init(coder:).md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)

## See Also

### Texture basics

- [Understanding color-renderable pixel format sizes](metal/understanding-color-renderable-pixel-format-sizes.md)
- [Optimizing texture data](metal/optimizing-texture-data.md)
- [MTLTexture](metal/mtltexture.md)
- [MTLTextureCompressionType](metal/mtltexturecompressiontype.md)
- [MTLTextureDescriptor](metal/mtltexturedescriptor.md)
- [MTKTextureLoader](metalkit/mtktextureloader.md)
- [MTLPixelFormat](metal/mtlpixelformat.md)
