---
title: MTLFunctionHandle
framework: metal
role: symbol
role_heading: Protocol
path: metal/mtlfunctionhandle
---

# MTLFunctionHandle

An object representing a function that you can add to a visible function table.

## Declaration

```swift
protocol MTLFunctionHandle : NSObjectProtocol, Sendable
```

## Topics

### Querying handle properties

- [device](metal/mtlfunctionhandle/device.md)
- [functionType](metal/mtlfunctionhandle/functiontype.md)
- [name](metal/mtlfunctionhandle/name.md)

### Instance Properties

- [gpuResourceID](metal/mtlfunctionhandle/gpuresourceid.md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Shader functions

- [MTLFunctionDescriptor](metal/mtlfunctiondescriptor.md)
- [MTLFunction](metal/mtlfunction.md)
- [MTLVisibleFunctionTableDescriptor](metal/mtlvisiblefunctiontabledescriptor.md)
- [MTLVisibleFunctionTable](metal/mtlvisiblefunctiontable.md)
- [MTLIntersectionFunctionDescriptor](metal/mtlintersectionfunctiondescriptor.md)
- [MTLIntersectionFunctionTableDescriptor](metal/mtlintersectionfunctiontabledescriptor.md)
- [MTLIntersectionFunctionTable](metal/mtlintersectionfunctiontable.md)
