# Component Bindings

Deformer graphs can be configured such that the skinning data from multiple components can be read and written to inside a single graph. This is done by specifying component bindings.&#x20;

The "Primary" component represents the component that the deformer graph has been assigned to.

<figure><img src="/files/fQ8jPCQrnbik0l0D3phA" alt=""><figcaption></figcaption></figure>

You can associate other component bindings with a specific component by using component tags. When you apply a deformer graph to a component, it will automatically check the actor for other components with the matching tag.

When you create a custom compute kernel, it will only be able to read data from a single component. To read data from multiple components, you have to add a secondary input binding:

<figure><img src="/files/9yHQsK3hmTTYOHbXah0F" alt=""><figcaption></figcaption></figure>

You can then create inputs for data from each component:

<figure><img src="/files/4OQtcMNGcWHZRnSKdTts" alt=""><figcaption></figcaption></figure>

When you read data from the secondary component binding, you must make sure to include the namespace of the binding.&#x20;

<figure><img src="/files/lqgNnAz0OB0SFQFtNlU7" alt=""><figcaption></figcaption></figure>

It's important to note that output parameters can only be used by the component connected to the "Primary Group" pin. In the above image, the Primary component is connected to Primary Group. Therefore, SumOfPositions is associated with the Primary component. If I write the SumOfPositions output to the secondary component, it results in a compiler error:

<figure><img src="/files/Z6W5ajecgN5bxeFnP9Ib" alt=""><figcaption></figcaption></figure>

Meanwhile writing to the primary component works fine:

<figure><img src="/files/6rt0BWsTkzd5xPppFke1" alt=""><figcaption></figcaption></figure>

If I wanted to write to the secondary binding instead, I would need to change the graph such that the secondary binding is connected to the "Primary Group" pin on the Add kernel (as well as update the HLSL code to reflect the new namespaces):

<figure><img src="/files/kI0p4WtX8wKgytngigTC" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://dilly.gitbook.io/dilly/deformer-graph/component-bindings.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
