# Curves

Effects modify a letter states (position, rotation, scale, ...) based on a "state **curve"**, which you can assign in the inspector.

As always, **curves** are a Scriptable Object and clicking on them will show you their preview in the inspector.

### Built-in Curves

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td><strong>Sine</strong></td><td>Follows the Sine curve (and eases in during appearances)</td><td></td></tr><tr><td><strong>Linear</strong></td><td>Goes linearly from 0 to 1</td><td></td></tr><tr><td><strong>Hold</strong></td><td>Stays at 1, always</td><td></td></tr><tr><td><strong>Square</strong></td><td>Either 1 or -1</td><td></td></tr><tr><td><strong>Step</strong></td><td>Goes from 0 to 1 in four different steps</td><td></td></tr><tr><td><strong>Bounce</strong></td><td>Bounces from 0 to 1</td><td></td></tr></tbody></table>

### Creating Custom Curves from the inspector

To create a custom curve from the inspector go to Project->Create->Text Animator for Unity and then select "**Custom**".

You will find an inspector with two curves, both editable at the bottom of the panel.

* **Curve01** goes from 0 to 1 and decides how Appearances and Disappearances behave
* **CurveRange** goes from -1 to 1 (but ends where it started so that it forms a smooth/seamless loop) and affects Persistent effects

<figure><img src="https://3857371675-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXuXUTa2X5PYuYL6yRvl1%2Fuploads%2FZv0T9uTeTrdB1zcBiDNj%2FScreenshot%202025-11-16%20alle%2017.04.29.png?alt=media&#x26;token=d2fc3da7-4456-4cd3-b724-ecf9910219a4" alt=""><figcaption></figcaption></figure>

***

{% hint style="info" %}
A way to set curves via [modifiers](https://docs.febucci.com/text-animator-unity/effects/how-to-edit-effects/modifiers "mention") (similar to [playbacks](https://docs.febucci.com/text-animator-unity/effects/how-to-edit-effects/playbacks "mention")) is coming in future releases!
{% endhint %}
