---
title: "makeRenderPipelineState(descriptor:)"
framework: realitykit
role: symbol
role_heading: Instance Method
path: "realitykit/lowlevelrendercontext/makerenderpipelinestate(descriptor:)-55ty6"
---

# makeRenderPipelineState(descriptor:)

Asynchronously compiles a Metal render pipeline state from the given descriptor.

## Declaration

```swift
nonisolated(nonsending) func makeRenderPipelineState(descriptor: LowLevelRenderPipelineState.Descriptor) async throws -> sending LowLevelRenderPipelineState
```

## Parameters

- `descriptor`: The mesh descriptor, material, render targets, and optional blending configuration.

## Return Value

Return Value A compiled LowLevelRenderPipelineState.

## Discussion

Discussion The descriptor’s mesh format, material, and render target configuration are baked into the pipeline at compile time. Create pipeline states once and reuse them across frames. note: An error if pipeline compilation fails.

## See Also

### Creating pipeline state

- [makeRenderPipelineState(descriptor:)](realitykit/lowlevelrendercontext/makerenderpipelinestate(descriptor:)-7j32p.md)
- [makeArgumentTable(descriptor:buffers:textures:)](realitykit/lowlevelrendercontext/makeargumenttable(descriptor:buffers:textures:).md)
