<!-- Page: https://rustic-game-engine.pages.dev/docs/api/ease -->

# Ease

Choose one of 31 shared easing curves for actions and synchronous interpolation.

[Feature status and language/platform compatibility](https://rustic-game-engine.pages.dev/markdown/reference/compatibility.md)

Choose an API to see its signature, parameters, examples and behavior.

## APIs

- [Ease.Linear](https://rustic-game-engine.pages.dev/markdown/api/ease/linear.md)
- [Ease.InSine](https://rustic-game-engine.pages.dev/markdown/api/ease/in-sine.md)
- [Ease.OutSine](https://rustic-game-engine.pages.dev/markdown/api/ease/out-sine.md)
- [Ease.InOutSine](https://rustic-game-engine.pages.dev/markdown/api/ease/in-out-sine.md)
- [Ease.InQuad](https://rustic-game-engine.pages.dev/markdown/api/ease/in-quad.md)
- [Ease.OutQuad](https://rustic-game-engine.pages.dev/markdown/api/ease/out-quad.md)
- [Ease.InOutQuad](https://rustic-game-engine.pages.dev/markdown/api/ease/in-out-quad.md)
- [Ease.InCubic](https://rustic-game-engine.pages.dev/markdown/api/ease/in-cubic.md)
- [Ease.OutCubic](https://rustic-game-engine.pages.dev/markdown/api/ease/out-cubic.md)
- [Ease.InOutCubic](https://rustic-game-engine.pages.dev/markdown/api/ease/in-out-cubic.md)
- [Ease.InQuart](https://rustic-game-engine.pages.dev/markdown/api/ease/in-quart.md)
- [Ease.OutQuart](https://rustic-game-engine.pages.dev/markdown/api/ease/out-quart.md)
- [Ease.InOutQuart](https://rustic-game-engine.pages.dev/markdown/api/ease/in-out-quart.md)
- [Ease.InQuint](https://rustic-game-engine.pages.dev/markdown/api/ease/in-quint.md)
- [Ease.OutQuint](https://rustic-game-engine.pages.dev/markdown/api/ease/out-quint.md)
- [Ease.InOutQuint](https://rustic-game-engine.pages.dev/markdown/api/ease/in-out-quint.md)
- [Ease.InExpo](https://rustic-game-engine.pages.dev/markdown/api/ease/in-expo.md)
- [Ease.OutExpo](https://rustic-game-engine.pages.dev/markdown/api/ease/out-expo.md)
- [Ease.InOutExpo](https://rustic-game-engine.pages.dev/markdown/api/ease/in-out-expo.md)
- [Ease.InCirc](https://rustic-game-engine.pages.dev/markdown/api/ease/in-circ.md)
- [Ease.OutCirc](https://rustic-game-engine.pages.dev/markdown/api/ease/out-circ.md)
- [Ease.InOutCirc](https://rustic-game-engine.pages.dev/markdown/api/ease/in-out-circ.md)
- [Ease.InBack](https://rustic-game-engine.pages.dev/markdown/api/ease/in-back.md)
- [Ease.OutBack](https://rustic-game-engine.pages.dev/markdown/api/ease/out-back.md)
- [Ease.InOutBack](https://rustic-game-engine.pages.dev/markdown/api/ease/in-out-back.md)
- [Ease.InElastic](https://rustic-game-engine.pages.dev/markdown/api/ease/in-elastic.md)
- [Ease.OutElastic](https://rustic-game-engine.pages.dev/markdown/api/ease/out-elastic.md)
- [Ease.InOutElastic](https://rustic-game-engine.pages.dev/markdown/api/ease/in-out-elastic.md)
- [Ease.InBounce](https://rustic-game-engine.pages.dev/markdown/api/ease/in-bounce.md)
- [Ease.OutBounce](https://rustic-game-engine.pages.dev/markdown/api/ease/out-bounce.md)
- [Ease.InOutBounce](https://rustic-game-engine.pages.dev/markdown/api/ease/in-out-bounce.md)

## Module guide

## Setup and language support

These engine-owned services work in Lua 5.4, Luau, JavaScript, Python, C, C++, C#, Java, PHP, and HTML inline JavaScript. Follow [Use gameplay actions](https://rustic-game-engine.pages.dev/markdown/guides/gameplay-actions.md) to create and attach a script, install external toolchains, and choose the correct language binding. PHP and HTML scripts belong under `ui/`; CSS alone runs no gameplay code.

The Calls section uses JavaScript signatures. The function examples below include native syntax for all ten script types, including SDK-specific alternatives and limitations. Attach a JavaScript Object Component script to the specified target and press **Play**. Globals are supplied by the engine. Schedule actions from `Start` or a callback, rather than at script top level. Native languages use typed options and their own builder conventions; see the guide's language bindings.

## Parameters

Pass a constant to an action or Smooth function. In accelerates, Out decelerates, and InOut combines both. Linear is the default.

## Return and timing

Ease members are identifiers interpreted by the shared Rust curve sampler, rather than language-specific easing functions.

## Behavior and limitations

- An anchored Part eases into and out of the movement. The Console also prints 5.
- Back and Elastic may overshoot scalar, vector and rotation progress. Path parameters, Color and Opacity remain bounded by their backends.
- Animation blend easing affects weights; source time remains linear unless progressionEase is explicitly supplied.
- Check script attachment, enabled state and the Console when an operation fails. Asynchronous errors also appear in operation state. Callback exceptions disable the owner and clean up its actions.
- Owner destruction, disable, successful reload or Stop cleans up owned actions and subscriptions. Failed reload retains the previous behavior's operations. See [Operation handles](https://rustic-game-engine.pages.dev/markdown/api/operation-handles.md) for controls and lifetime details.
