> For the complete documentation index, see [llms.txt](https://help.blings.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.blings.io/apps/blings-studio/connectors/custom-change.md).

# Custom Change

Use Custom Change when a connector needs to control a specific layer value, keyframe path, or animation property that is not covered by the standard text, media, color, visibility, countdown, or interaction connectors.

Typical uses include dynamic chart values, bar heights, progress indicators, counters, visual states, and animation properties that should respond to project data.

<figure><img src="/files/xD0N1YzYvk436tZOYKCZ" alt="Shared Studio connector detail panel where custom source, fallback, and internal description controls are configured" width="375"><figcaption></figcaption></figure>

## Options

| Option                         | What it controls                                                                  | Notes                                                                         |
| ------------------------------ | --------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| **Target layer**               | The layer affected by the custom change.                                          | Confirm the selected layer is the layer that owns the value or keyframe path. |
| **Code path**                  | The path to the property or keyframe value being changed.                         | Use the exact path expected by the imported composition structure.            |
| **Input value**                | The data field, live-control value, edit value, or expression used by the change. | Match the input type to the property being controlled.                        |
| **Transform or mapping logic** | How the input value becomes the final layer value.                                | Use this when raw data must be scaled, capped, rounded, or converted.         |
| **Fallback value**             | The value used when input data is missing or invalid.                             | Pick a value that keeps the animation visually coherent.                      |
| **Preview states**             | The values used to test the change in Studio.                                     | Test minimum, maximum, average, and missing values.                           |
| **Internal description**       | A note explaining the visual rule.                                                | Include the business meaning of the custom change.                            |

## Configure Custom Change

{% stepper %}
{% step %}

### Identify the Visual Property

Decide which layer value, keyframe path, or animation property should respond to data.
{% endstep %}

{% step %}

### Select the Target Layer

Choose the layer that owns the property being changed.
{% endstep %}

{% step %}

### Set the Code Path

Enter the path to the property or keyframe value. Confirm the path points to the intended value before adding runtime logic.
{% endstep %}

{% step %}

### Connect the Input Value

Choose the Dynamic Data field, Live Control value, edit value, or expression that should drive the change.
{% endstep %}

{% step %}

### Add Fallback and Limits

Define fallback behavior and any required minimum, maximum, scaling, or rounding rules.
{% endstep %}

{% step %}

### Preview the Value Range

Test low, high, average, empty, and invalid values so the animation stays within the intended visual range.
{% endstep %}
{% endstepper %}

## Success Checks

Before publishing Custom Change, confirm:

* The code path targets the intended layer property.
* The input value uses the expected type and range.
* Minimum and maximum values stay inside the design.
* Missing or invalid values use a controlled fallback.
* The custom change does not conflict with timeline animation or other connectors on the same layer.

{% content-ref url="/pages/vF3GOo8viXK19zuT75hD" %}
[Data in Studio](/apps/blings-studio/data.md)
{% endcontent-ref %}
