Easing curves

An ease shapes the speed of an animation over its duration. Every curve below is in both Lite and Pro, under Ease.

panel.Animate().MoveY(0f, 0.4f).From(24f).Ease(Ease.OutCubic);

Which one to use

  • Entrances: OutCubic (the default) or OutQuart. Fast start, soft landing.
  • Exits: InCubic. Accelerating away reads as "gone".
  • Moving between two places on screen: InOutCubic.
  • Pop-ins and dialogs: OutBack for a small overshoot (or a spring in Pro).
  • Loops and pulses: InOutSine with LoopMode.PingPong.
  • Progress and spinners: Linear.

All curves

The two lines mark the start and end values. Curves that cross them overshoot.

Ease.LinearConstant speed. Mechanical; use for progress bars and spinners.
Ease.InSine
Ease.OutSine
Ease.InOutSineGentle both ends. Good for looping pulses.
Ease.InQuad
Ease.OutQuad
Ease.InOutQuad
Ease.InCubicAccelerates away. Good for exits.
Ease.OutCubicFast start, soft landing. The default for entrances.
Ease.InOutCubicFor moves between two resting places.
Ease.InQuart
Ease.OutQuart
Ease.InOutQuart
Ease.InExpo
Ease.OutExpoVery fast start, long settle.
Ease.InOutExpo
Ease.InCirc
Ease.OutCirc
Ease.InOutCirc
Ease.InBackPulls back before leaving.
Ease.OutBackOvershoots slightly, then settles. Dialogs and pop-ins.
Ease.InOutBack
Ease.InElastic
Ease.OutElasticWobbles into place. Playful rewards.
Ease.InOutElastic
Ease.InBounce
Ease.OutBounceLands and bounces. A drop or a falling badge.
Ease.InOutBounce

Your own curve

Draw a curve in the inspector and use it as an ease:

[SerializeField] AnimationCurve curve = AnimationCurve.EaseInOut(0, 0, 1, 1);

badge.Animate().ScaleTo(1.2f, 0.5f).Ease(Ease.FromCurve(curve));

The curve is sampled from time 0 to 1. Values above 1 or below 0 overshoot.

Easing in the inspector and JSON

Presets and JSON sequences name the ease as text ("ease": "OutBack"). They accept this subset: Linear, InSine, OutSine, InOutSine, InQuad, OutQuad, InOutQuad, InCubic, OutCubic, InOutCubic, OutQuart, OutExpo, OutCirc, InBack, OutBack, InOutBack, OutElastic, OutBounce. Code can use all of the curves above.