> For the complete documentation index, see [llms.txt](https://dilly.gitbook.io/dilly/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dilly.gitbook.io/dilly/deformer-graph/component-bindings.md).

# 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>
