> For the complete documentation index, see [llms.txt](https://scenegroup.gitbook.io/cavalry/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://scenegroup.gitbook.io/cavalry/getting-started/key-concepts/connections.md).

# Connections

Connections form a key feature of Cavalry. They can be used to set up attributes to drive other attributes.

You create connections by clicking and dragging from a **Connection Anchor**. A Connection Anchor is anything that turns blue on rollover.

![Connection Anchors highlight in blue when you rollover an attribute.](/files/-LU5yNRwC4V6k-LyzHd1)

{% hint style="info" %}
It’s important to note that making connections in Cavalry **is not** a shortcut for writing expressions. You are creating real connections between attributes/ nodes. The result is speedy computation and versatility.
{% endhint %}

To create a connection in the [Attribute Editor](/cavalry/user-interface/menus/window-menu/attribute-editor.md):

1. Hover the cursor over an attribute (the Connection Anchor icon will change to state 2).
2. Move your mouse over the Connection Anchor icon (the icon will turn to state 3) then click and drag.
3. Move your mouse to another attribute (the ‘connection’ will turn blue when it can connect).
4. Release the mouse.

![](/files/-M2AvpdzZoP-KS6mPyRL)

You will see a connection icon appear on the attribute you dropped the connection onto in step 4 indicating you have made a connection.

{% hint style="info" %}
When we talk about the `id` we are referring to the connection from the header bar of a nodes Attribute Editor UI. This is the output of a node.
{% endhint %}

The process in the [Scene Window](/cavalry/user-interface/menus/window-menu/scene-window.md) is very similar:

1. Rollover a layer (the Connection Anchor icon will change to state 2).
2. Move your mouse over the Connection Anchor icon (the icon will turn to state 3) then click and drag.
3. Move your mouse to another layer (the ‘connection’ will turn blue when it can connect).
4. Release the mouse.
5. A pop up window will appear.
6. Select the row (attribute) you’d like to connect to.
7. Click the mouse.

You will see a connection icon appear on the layer you dropped the connection onto in step 6 indicating you have made a connection.

![Connections in the Scene Window](/files/-LXoI8YF53Q4Dqz_qI2t)

Connections can be inputs or outputs. An **Input** is when an attribute is **being driven** by another attribute. An **Output** is when an attribute is **driving** another attribute. Inputs are indicated by a yellow left facing icon. Outputs are indicated by a right facing purple icon.

![](/files/-LXoCRGjaKNRzyF2KOJt)

Clicking on a connection icon will open a pop over showing you a list of existing connections. Double click on the row to reveal the connected node/attribute or click the cross to break the connection.

{% hint style="success" %}
When inside a popover, if you hold **cmd/ctrl** when either double clicking on a connection, or clicking the 'x' to disconnect the attribute, the window will stay open, allowing you to do several things in a row.
{% endhint %}

{% hint style="info" %}
To overwrite an existing connection hold down **cmd/ctrl** when using the Connector or select **Replace Connection** in the contextual menu.
{% endhint %}

{% hint style="warning" %}
Note - an attribute with keyframes cannot accept an input connection as it's already connected to an animation curve. You can overwrite the connection but you will lose any keyframe data.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://scenegroup.gitbook.io/cavalry/getting-started/key-concepts/connections.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
