---
title: "init(inferredFrom:inputValues:constantValues:)"
framework: realitykit
role: symbol
role_heading: Initializer
path: "realitykit/shadergraphmaterial/program-swift.struct/descriptor-swift.struct/init(inferredfrom:inputvalues:constantvalues:)"
---

# init(inferredFrom:inputValues:constantValues:)

Creates a descriptor by inferring configuration from a shader graph.

## Declaration

```swift
init(inferredFrom graph: ShaderGraph, inputValues: [String : MaterialParameters.Value] = [:], constantValues: MTLFunctionConstantValues = .init()) throws
```

## Discussion

Discussion Analyzes node connections to determine the appropriate lighting model and settings — for example, enabling clearcoat if the graph connects to the clearcoat output. This initializer will not infer default values of inputs or function constants.

## See Also

### Creating a descriptor

- [init(shaderGraph:lightingModel:isColorDitheringEnabled:blendMode:inputValues:constantValues:)](realitykit/shadergraphmaterial/program-swift.struct/descriptor-swift.struct/init(shadergraph:lightingmodel:iscolorditheringenabled:blendmode:inputvalues:constantvalues:).md)
