<!--
{
  "availability" : [
    "Reality Composer Pro: -",
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "macCatalyst: 27.0.0 -",
    "macOS: 27.0.0 -",
    "tvOS: 27.0.0 -",
    "visionOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ComputeGraph",
  "identifier" : "/documentation/ComputeGraph/ComputeNodeGraph/PipelinesDescriptor",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Compute Graph",
      "ComputeGraph"
    ],
    "preciseIdentifier" : "s:12ComputeGraph0a4NodeB0V19PipelinesDescriptorV"
  },
  "title" : "ComputeNodeGraph.PipelinesDescriptor"
}
-->

# ComputeNodeGraph.PipelinesDescriptor

Specifies the configuration used to compile a set of compute pipelines for a
compute graph effect.

```
struct PipelinesDescriptor
```

## Overview

Use a descriptor when you need explicit control over pipeline compilation — for
example, to supply Metal libraries from multiple bundles or to enable debug draw.
Pass the configured descriptor to `ComputeNodeGraph.Pipelines/init(descriptor:)` to compile.

```swift
var descriptor = ComputeNodeGraph.PipelinesDescriptor(assembly: assembly)
descriptor.addLibrary(myMTLLibrary, bundle: "com.example.MyEffects")
descriptor.options.debugDraw = true
let pipelines = try await ComputeNodeGraph.Pipelines(descriptor: descriptor)
```

## Topics

### Initializers

[`init(assembly: ComputeNodeGraph.Assembly)`](/documentation/ComputeGraph/ComputeNodeGraph/PipelinesDescriptor/init(assembly:))

Creates a descriptor configured for the given graph assembly.

### Instance Properties

[`var assembly: ComputeNodeGraph.Assembly`](/documentation/ComputeGraph/ComputeNodeGraph/PipelinesDescriptor/assembly)

The assembled compute graph layout that defines the graph’s buffer, uniform,
and texture configuration.

[`var libraries: [ComputeNodeGraph.LibraryReference]`](/documentation/ComputeGraph/ComputeNodeGraph/PipelinesDescriptor/libraries)

The Metal libraries that provide shader function implementations for the graph’s nodes.

[`var options: ComputeNodeGraph.Pipelines.Options`](/documentation/ComputeGraph/ComputeNodeGraph/PipelinesDescriptor/options)

Options controlling pipeline compilation, such as whether debug draw is enabled.

### Instance Methods

[`func addLibrary(any MTLLibrary, bundle: String?)`](/documentation/ComputeGraph/ComputeNodeGraph/PipelinesDescriptor/addLibrary(_:bundle:))

[`func setLibrary(ComputeNodeGraph.Library)`](/documentation/ComputeGraph/ComputeNodeGraph/PipelinesDescriptor/setLibrary(_:))

## Relationships

### Conforms To

[`Sendable`](/documentation/Swift/Sendable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

---

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)