---
title: LowLevelMaterialResource.SurfaceShader.Descriptor
framework: realitykit
role: symbol
role_heading: Structure
path: realitykit/lowlevelmaterialresource/surfaceshader/descriptor
---

# LowLevelMaterialResource.SurfaceShader.Descriptor

The name and library for a user-authored Metal surface shader function.

## Declaration

```swift
struct Descriptor
```

## Topics

### Creating a descriptor

- [init(named:in:constantValues:)](realitykit/lowlevelmaterialresource/surfaceshader/descriptor/init(named:in:constantvalues:).md)
- [init(named:in:constantValues:uniformsSize:)](realitykit/lowlevelmaterialresource/surfaceshader/descriptor/init(named:in:constantvalues:uniformssize:).md)
- [init(named:in:constantValues:uniformsType:)](realitykit/lowlevelmaterialresource/surfaceshader/descriptor/init(named:in:constantvalues:uniformstype:).md)

### Configuring the shader function

- [library](realitykit/lowlevelmaterialresource/surfaceshader/descriptor/library.md)
- [constantValues](realitykit/lowlevelmaterialresource/surfaceshader/descriptor/constantvalues.md)

### Initializers

- [init(named:in:)](realitykit/lowlevelmaterialresource/surfaceshader/descriptor/init(named:in:).md)

### Instance Properties

- [name](realitykit/lowlevelmaterialresource/surfaceshader/descriptor/name.md)

## Relationships

### Conforms To

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