API Reference
▶
DoCanvasFade
This utility method animates the alpha value of a CanvasGroup.
ITweenPlayer DoCanvasFade(this GameObject target, float forwardValue = 0, bool blocksraycasts = false, float duration = 1);
ITweenPlayer DoCanvasFade(this GameObject target, AnimationCurve curve, float forwardValue = 0, bool blocksraycasts = false);
ITweenPlayer DoCanvasFade(this MonoBehaviour target, float forwardValue = 0, bool blocksraycasts = false, float duration = 1);
ITweenPlayer DoCanvasFade(this MonoBehaviour target, AnimationCurve curve, float forwardValue = 0, bool blocksraycasts = false);
ITweenPlayer DoCanvasFade(this CanvasGroup target, float forwardValue = 0, bool blocksraycasts = false, float duration = 1);
ITweenPlayer DoCanvasFade(this CanvasGroup target, AnimationCurve curve, float forwardValue = 0, bool blocksraycasts = false);
• Parameters
- - GameObject target:
- The UnityEngine.GameObject to be faded. If it does not have a CanvasGroup attached, one will be added automatically and used.
-  
- - MonoBehaviour target:
- The component to be faded. If the object does not have a CanvasGroup, one will be added automatically.
-  
- - CanvasGroup target:
- The CanvasGroup component to be faded.
-  
- - float forwardValue:
- The target alpha value (0–1) when animating forward.
- Forward playback: current alpha → forwardValue.
- Reverse playback: forwardValue → current alpha.
-  
- - bool blocksraycasts:
- Whether to set CanvasGroup.blocksRaycasts.
-  
- - float duration:
- Duration of the animation in seconds.
-  
- - AnimationCurve curve:
- Custom curve used to control animation progression.
- Since the curve’s time axis becomes the animation duration, the duration parameter is ignored.
▶
DoFade
This utility method animates the alpha value of the target object.
ITweenPlayer DoFade(this Material target, float forwardValue = 0, float duration = 1);
ITweenPlayer DoFade(this Renderer target, float forwardValue = 0, float duration = 1);
ITweenPlayer DoFade(this Graphic target, float forwardValue = 0, float duration = 1);
ITweenPlayer DoFade(this Renderer target, AnimationCurve curve, float forwardValue = 0);
ITweenPlayer DoFade(this Graphic target, AnimationCurve curve, float forwardValue = 0);
ITweenPlayer DoFade(this Material target, AnimationCurve curve, float forwardValue = 0);
• Parameters
- - Graphic target:
- The Graphic component to be faded.
-  
- - Renderer target:
- The Renderer component to be faded.
-  
- - Material target:
- The Material instance to be faded.
-  
- - float forwardValue:
- The target alpha value (0–1) when animating forward.
- Forward playback: current color.a → forwardValue.
- Reverse playback: forwardValue → current color.a.
-  
- - float duration:
- Duration of the animation in seconds.
-  
- - AnimationCurve curve:
- Custom curve used to control animation progression.
- Since the curve’s time axis becomes the animation duration, the duration parameter is ignored.
▶
DoColor
This utility method animates the Color of the target object.
ITweenPlayer DoColor(this Graphic target, Color forwardValue, float duration = 1);
ITweenPlayer DoColor(this Graphic target, Color forwardValue, AnimationCurve curve);
ITweenPlayer DoColor(this Renderer target, Color forwardValue, float duration = 1);
ITweenPlayer DoColor(this Renderer target, Color forwardValue, AnimationCurve curve);
ITweenPlayer DoColor(this Material target, Color forwardValue, float duration = 1);
ITweenPlayer DoColor(this Material target, Color forwardValue, AnimationCurve curve);
• Parameters
- - Graphic target:
- The Graphic component whose color will be animated.
-  
- - Renderer target:
- The Renderer component whose color will be animated.
-  
- - Material target:
- The Material instance whose color will be animated.
-  
- - Color forwardValue:
- The target Color value when animating forward.
- Forward playback: current color → forwardValue.
- Reverse playback: forwardValue → current color.
-  
- - float duration:
- Duration of the animation in seconds.
-  
- - AnimationCurve curve:
- Custom curve used to control animation progression.
- Since the curve’s time axis becomes the animation duration, the duration parameter is ignored.
▶
DoFillAmount
DoFillAmount is an extension method that smoothly animates the fillAmount of a UnityEngine.UI.Image.
ITweenPlayer DoFillAmount(this Image target, float forwardValue = 0, float duration = 1);
ITweenPlayer DoFillAmount(this Image target, AnimationCurve curve, float forwardValue = 0);
• Parameters
- - Image target:
- The Image component to animate.
- Must be an Image of type Filled, which supports the fillAmount property.
-  
- - float forwardValue:
- The target value when animating forward.
- Forward playback: current value → forwardValue.
- Reverse playback: forwardValue → current value.
-  
- - float duration:
- Duration of the animation in seconds.
-  
- - AnimationCurve curve:
- Custom curve used to control animation progression.
- Since the curve’s time axis becomes the animation duration, the duration parameter is ignored.
▶
DoLight / DoIntensity / DoRange
Utility methods for animating the color, intensity, and range of a Light component.
ITweenPlayer DoColor(this Light target, Color color, float duration = 1);
ITweenPlayer DoColor(this Light target, Color color, AnimationCurve curve);
ITweenPlayer DoIntensity(this Light target, float intensity, float duration = 1);
ITweenPlayer DoIntensity(this Light target, float intensity, AnimationCurve curve);
ITweenPlayer DoRange(this Light target, float range, float duration = 1);
ITweenPlayer DoRange(this Light target, float range, AnimationCurve curve);
ITweenPlayer DoLight(this Light target, bool colortween = false, Color color = default, bool intensitytween = false, float intensity = 0, bool rangetween = false, float range = 0, float duration = 1);
ITweenPlayer DoLight(this Light target, AnimationCurve curve, bool colortween = false, Color color = default, bool intensitytween = false, float intensity = 0, bool rangetween = false, float range = 0);
• Parameters
- - Light target:
- The UnityEngine.Light component to animate.
-  
- - bool colortween:
- Whether to animate the Light’s color.
-  
- - Color color:
- The forward target value when animating Light.color.
- Forward playback: current target.color → color.
- Reverse playback: color → current target.color.
-  
- - bool intensitytween:
- Whether to animate the Light’s intensity.
-  
- - float intensity:
- The forward target value for Light intensity (brightness).
- Forward playback: current value → intensity.
- Reverse playback: intensity → current value.
-  
- - bool rangetween:
- Whether to animate the Light’s range.
-  
- - float range:
- The forward target value for Light range.
- Forward playback: current value → range.
- Reverse playback: range → current value.
-  
- - float duration:
- Duration of the animation in seconds.
-  
- - AnimationCurve curve:
- Custom curve used to control animation progression.
- Since the curve’s time axis becomes the animation duration, the duration parameter is ignored.
▶
DoInterpolate
Utility methods for animating numeric values in Text / TextMeshPro by interpolating them.
ITweenPlayer DoInterpolate(this Text target, int forwardValue, float duration = 1);
ITweenPlayer DoInterpolate(this Text target, int forwardValue, AnimationCurve curve);
ITweenPlayer DoInterpolate(this Text target, float forwardValue, float duration = 1);
ITweenPlayer DoInterpolate(this Text target, float forwardValue, AnimationCurve curve);
ITweenPlayer DoInterpolate(this TMP_Text target, float forwardValue, float duration = 1);
ITweenPlayer DoInterpolate(this TMP_Text target, float forwardValue, AnimationCurve curve);
ITweenPlayer DoInterpolate(this TMP_Text target, int forwardValue, float duration = 1);
ITweenPlayer DoInterpolate(this TMP_Text target, int forwardValue, AnimationCurve curve);
• Parameters
- - Text target:
- The UnityEngine.UI.Text component to animate.
-  
- - TMP_Text target:
- The TMPPro.TMP_Text component to animate.
-  
- - float/Int forwardValue:
- Forward playback: current value → forwardValue.
- Reverse playback: forwardValue → current value.
-  
- - float duration:
- Duration of the animation in seconds.
-  
- - AnimationCurve curve:
- Custom curve used to control animation progression.
- Since the curve’s time axis becomes the animation duration, the duration parameter is ignored.
▶
DoMove / DoMove(X/Y/Z)
Utility methods for animating the movement of a target object.
ITweenPlayer DoMoveX(this GameObject target, float x, float duration = 1);
ITweenPlayer DoMoveX(this GameObject target, float x, AnimationCurve curve);
ITweenPlayer DoMoveY(this GameObject target, float y, float duration = 1);
ITweenPlayer DoMoveY(this GameObject target, float y, AnimationCurve curve);
ITweenPlayer DoMoveZ(this GameObject target, float z, float duration = 1);
ITweenPlayer DoMoveZ(this GameObject target, float z, AnimationCurve curve);
ITweenPlayer DoMove(this GameObject target, Vector3 forwardValue, float duration = 1, bool relative = false);
ITweenPlayer DoMove(this GameObject target, Vector3 forwardValue, AnimationCurve curve, bool relative = false);
ITweenPlayer DoMoveX<T>(this T target, float x, float duration = 1) where T : Component;
ITweenPlayer DoMoveX<T>(this T target, float x, AnimationCurve curve) where T : Component;
ITweenPlayer DoMoveY<T>(this T target, float y, float duration = 1) where T : Component;
ITweenPlayer DoMoveY<T>(this T target, float y, AnimationCurve curve) where T : Component;
ITweenPlayer DoMoveZ<T>(this T target, float z, float duration = 1) where T : Component;
ITweenPlayer DoMoveZ<T>(this T target, float z, AnimationCurve curve) where T : Component;
ITweenPlayer DoMove<T>(this T target, Vector3 forwardValue, float duration = 1, bool relative = false) where T : Component;
ITweenPlayer DoMove<T>(this T target, Vector3 forwardValue, AnimationCurve curve, bool relative = false) where T : Component;
• Parameters
- - GameObject target:
- The UnityEngine.GameObject to animate. Any object with a Transform can be used.
-  
- - T target:
- The component to animate. Any component with a Transform can be used.
-  
- - Vector3 forwardValue:
- The target position when playing forward.
- Forward playback: current value → forwardValue.
- Reverse playback: forwardValue → current value.
-  
- - float x / y / z:
- The forward target value for the (x/y/z) coordinate.
- Forward playback: current value → (x/y/z).
- Reverse playback: (x/y/z) → current value.
-  
- - float duration:
- Duration of the animation in seconds.
-  
- - AnimationCurve curve:
- Custom curve used to control animation progression.
- Since the curve’s time axis becomes the animation duration, the duration parameter is ignored.
▶
DoRotation / DoRotation(X/Y/Z)
Utility methods for animating the rotation of a target object.
ITweenPlayer DoRotationX(this GameObject target, float x, float duration = 1);
ITweenPlayer DoRotationX(this GameObject target, float x, AnimationCurve curve);
ITweenPlayer DoRotationY(this GameObject target, float y, float duration = 1);
ITweenPlayer DoRotationY(this GameObject target, float y, AnimationCurve curve);
ITweenPlayer DoRotationZ(this GameObject target, float z, float duration = 1);
ITweenPlayer DoRotationZ(this GameObject target, float z, AnimationCurve curve);
ITweenPlayer DoRotation(this GameObject target, Vector3 forwardValue, float duration = 1, bool relative = false);
ITweenPlayer DoRotation(this GameObject target, Vector3 forwardValue, AnimationCurve curve, bool relative = false);
ITweenPlayer DoRotationX<T>(this T target, float x, float duration = 1) where T : Component;
ITweenPlayer DoRotationX<T>(this T target, float x, AnimationCurve curve) where T : Component;
ITweenPlayer DoRotationY<T>(this T target, float y, float duration = 1) where T : Component;
ITweenPlayer DoRotationY<T>(this T target, float y, AnimationCurve curve) where T : Component;
ITweenPlayer DoRotationZ<T>(this T target, float z, float duration = 1) where T : Component;
ITweenPlayer DoRotationZ<T>(this T target, float z, AnimationCurve curve) where T : Component;
ITweenPlayer DoRotation<T>(this T target, Vector3 forwardValue, float duration = 1, bool relative = false) where T : Component;
ITweenPlayer DoRotation<T>(this T target, Vector3 forwardValue, AnimationCurve curve, bool relative = false) where T : Component;
• Parameters
- - GameObject target:
- The UnityEngine.GameObject to animate. Any object with a Transform can be used.
-  
- - T target:
- The component to animate. Any component with a Transform can be used.
-  
- - Vector3 forwardValue:
- The target rotation angle when playing forward.
- Forward playback: current value → forwardValue.
- Reverse playback: forwardValue → current value.
-  
- - float x / y / z:
- The forward target angle for (x/y/z)-axis rotation.
- Forward playback: current value → (x/y/z).
- Reverse playback: (x/y/z) → current value.
-  
- - float duration:
- Duration of the animation in seconds.
-  
- - AnimationCurve curve:
- Custom curve used to control animation progression.
- Since the curve’s time axis becomes the animation duration, the duration parameter is ignored.
▶
DoScale / DoScale(X/Y/Z)
Utility methods for animating the scaling of a target object.
ITweenPlayer DoScaleX(this GameObject target, float x, float duration = 1);
ITweenPlayer DoScaleX(this GameObject target, float x, AnimationCurve curve);
ITweenPlayer DoScaleY(this GameObject target, float y, float duration = 1);
ITweenPlayer DoScaleY(this GameObject target, float y, AnimationCurve curve);
ITweenPlayer DoScaleZ(this GameObject target, float z, float duration = 1);
ITweenPlayer DoScaleZ(this GameObject target, float z, AnimationCurve curve);
ITweenPlayer DoScale(this GameObject target, Vector3 forwardValue, float duration = 1, bool relative = false);
ITweenPlayer DoScale(this GameObject target, Vector3 forwardValue, AnimationCurve curve, bool relative = false);
ITweenPlayer DoScaleX<T>(this T target, float x, float duration = 1) where T : Component;
ITweenPlayer DoScaleX<T>(this T target, float x, AnimationCurve curve) where T : Component;
ITweenPlayer DoScaleY<T>(this T target, float y, float duration = 1) where T : Component;
ITweenPlayer DoScaleY<T>(this T target, float y, AnimationCurve curve) where T : Component;
ITweenPlayer DoScaleZ<T>(this T target, float z, float duration = 1) where T : Component;
ITweenPlayer DoScaleZ<T>(this T target, float z, AnimationCurve curve) where T : Component;
ITweenPlayer DoScale<T>(this T target, Vector3 forwardValue, float duration = 1, bool relative = false) where T : Component;
ITweenPlayer DoScale<T>(this T target, Vector3 forwardValue, AnimationCurve curve, bool relative = false) where T : Component;
• Parameters
- - GameObject target:
- The UnityEngine.GameObject to animate. Any object with a Transform can be used.
-  
- - T target:
- The component to animate. Any component with a Transform can be used.
-  
- - Vector3 forwardValue:
- The target scale value when playing forward.
- Forward playback: current value → forwardValue.
- Reverse playback: forwardValue → current value.
-  
- - float x / y / z:
- The forward target value for scaling on the (x/y/z) axis.
- Forward playback: current value → (x/y/z).
- Reverse playback: (x/y/z) → current value.
-  
- - float duration:
- Duration of the animation in seconds.
-  
- - AnimationCurve curve:
- Custom curve used to control animation progression.
- Since the curve’s time axis becomes the animation duration, the duration parameter is ignored.
▶
DoReveal
Utility methods for performing a typewriter-style animation that reveals text one character at a time.
ITweenPlayer DoReveal(this Text target, string text = null, float duration = 1);
ITweenPlayer DoReveal(this Text target, AnimationCurve curve, string text = null);
ITweenPlayer DoReveal(this TMP_Text target, string text = null, float duration = 1);
ITweenPlayer DoReveal(this TMP_Text target, AnimationCurve curve, string text = null);
• Parameters
- - Text target:
- The UnityEngine.UI.Text component to animate.
-  
- - TMP_Text target:
- The TMPPro.TMP_Text component to animate.
-  
- - string text:
- The text to append to the existing content.
- The string to display using the typewriter animation.
-  
- - float duration:
- Duration of the animation in seconds.
-  
- - AnimationCurve curve:
- Custom curve used to control animation progression.
- Since the curve’s time axis becomes the animation duration, the duration parameter is ignored.
▶
DoRichTextReveal
A utility method that performs a typewriter-style animation with Rich Text support.
IRichTextPlayer DoRichTextReveal(this TMP_Text target, string text = null, float duration = 1);
IRichTextPlayer DoRichTextReveal(this TMP_Text target, AnimationCurve curve, string text = null);
• Parameters
- - TMP_Text target:
- The TMPPro.TMP_Text component to animate.
-  
- - string text:
- The text to append to the existing content.
- The string to display using the typewriter animation.
-  
- - float duration:
- Duration of the animation in seconds.
-  
- - AnimationCurve curve:
- A custom curve used to control the animation progression.
- Since the curve’s time axis becomes the animation duration, the duration parameter is ignored.
▶
DoRichTextRotateTween
Supports Rich Text and performs rotation animation on individual TextMeshPro characters.
IRichTextPlayer DoRichTextRotateTween(this TMP_Text target, float rotate, string text = null, float duration = 1);
IRichTextPlayer DoRichTextRotateTween(this TMP_Text target, AnimationCurve curve, float rotate, string text = null);
• Parameters
- - TMP_Text target:
- The TMPPro.TMP_Text component to animate.
-  
- - float rotate:
- The forward target rotation angle.
- Forward playback: 0 → rotate.
- Reverse playback: rotate → 0.
-  
- - float duration:
- Duration of the animation in seconds.
-  
- - AnimationCurve curve:
- A custom curve used to control the animation progression.
- Since the curve’s time axis becomes the animation duration, the duration parameter is ignored.
▶
DoRichTextSizeTween
A feature that animates the font size of TextMeshPro text.
IRichTextPlayer DoRichTextSizeTween(this TMP_Text target, float fontsize, string text = null, float duration = 1);
IRichTextPlayer DoRichTextSizeTween(this TMP_Text target, AnimationCurve curve, float fontsize, string text = null);
• Parameters
- - TMP_Text target:
- The TMPPro.TMP_Text component to animate.
-  
- - float fontsize:
- The forward target font size value.
- Forward playback: current fontsize → fontsize.
- Reverse playback: fontsize → current fontsize.
-  
- - float duration:
- Duration of the animation in seconds.
-  
- - AnimationCurve curve:
- A custom curve used to control the animation progression.
- Since the curve’s time axis becomes the animation duration, the duration parameter is ignored.
▶
DoRichTextTween
A composite text animation feature that supports Rich Text and can simultaneously perform typewriter animation, rotation, and font size changes.
IRichTextPlayer DoRichTextTween(this TMP_Text target, bool reveal = true, string text = null, bool sizetween = false, float fontsize = 0, bool rotatetween = false, float rotate = 0, float duration = 1);
IRichTextPlayer DoRichTextTween(this TMP_Text target, AnimationCurve curve, bool reveal = true, string text = null, bool sizetween = false, float fontsize = 0, bool rotatetween = false, float rotate = 0);
• Parameters
- - TMP_Text target:
- The TMPPro.TMP_Text component to animate.
-  
- - string text:
- The text to append to the existing content.
- The string to display using the typewriter animation.
-  
- - float fontsize:
- The forward target font size value.
- Forward playback: current fontsize → fontsize.
- Reverse playback: fontsize → current fontsize.
-  
- - float rotate:
- The forward target rotation angle.
- Forward playback: 0 → rotate.
- Reverse playback: rotate → 0.
-  
- - float duration:
- Duration of the animation in seconds.
-  
- - AnimationCurve curve:
- A custom curve used to control the animation progression.
- Since the curve’s time axis becomes the animation duration, the duration parameter is ignored.
▶
DoMeshExplodeIn
A utility method that directly manipulates TextMeshPro vertex data to generate an animation where each character “explodes” outward individually.
IExplodeInPlayer DoMeshExplodeIn(this TMP_Text target, string text = null, float explosionPower = 200, bool fadeOut = true, float fadedelay = 0, bool rotate = true, float rotateMin = 50, float rotateMax = 500, bool useFloatiness = true, float factorMin = 0.02F, float factorMax = 0.15F, float duration = 1);
IExplodeInPlayer DoMeshExplodeIn(this TMP_Text target, AnimationCurve curve, string text = null, float explosionPower = 200, bool fadeOut = true, float fadedelay = 0, bool rotate = true, float rotateMin = 50, float rotateMax = 500, bool useFloatiness = true, float factorMin = 0.02F, float factorMax = 0.15F);
• Parameters
- - TMP_Text target:
- The TMPPro.TMP_Text component to animate.
-  
- - string text:
- Text to append to the existing text.
- The string to display with a typewriter animation.
-  
- - float explosionPower:
- The maximum explosion power reached during forward playback.
-  
- - bool fadeOut:
- Whether to use a fade-out effect.
-  
- - float fadedelay:
- Delay before starting the fade-out.
-  
- - bool rotate:
- Whether to apply rotation to characters.
-  
- - float rotateMin / rotateMax:
- Rotation angle range when rotation is enabled.
- Each character rotates at a random angle between rotateMin and rotateMax.
-  
- - bool useFloatiness:
- Whether to apply a floating (wobble) effect.
-  
- - float factorMin / factorMax:
- Range of floating intensity. Each character receives a random wobble between factorMin and factorMax.
-  
- - float duration:
- Duration of the animation in seconds.
-  
- - AnimationCurve curve:
- Custom curve used to control animation progression.
- Since the curve’s time axis becomes the animation duration, the duration parameter is ignored.
▶
DoMeshExplodeInFadeOut
A utility method that directly manipulates TextMeshPro vertex data to explode characters as independent meshes while simultaneously fading them out.
IExplodeInPlayer DoMeshExplodeInFadeOut(this TMP_Text target, string text = null, float explosionPower = 200, float delay = 0, float duration = 1);
IExplodeInPlayer DoMeshExplodeInFadeOut(this TMP_Text target, AnimationCurve curve, string text = null, float explosionPower = 200, float delay = 0);
• Parameters
- - TMP_Text target:
- The TMPPro.TMP_Text component to animate.
-  
- - string text:
- Text to append to the existing text.
- The string to display with a typewriter animation.
-  
- - float explosionPower:
- The maximum explosion power reached during forward playback.
-  
- - float delay:
- Delay before starting the fade-out.
-  
- - float duration:
- Duration of the animation in seconds.
-  
- - AnimationCurve curve:
- Custom curve used to control animation progression.
- Since the curve’s time axis becomes the animation duration, the duration parameter is ignored.
▶
DoMeshExplodeInFloatinessFadeOut
A utility method that directly manipulates TextMeshPro vertex data to scatter characters outward while giving them a floating motion and fading them out simultaneously.
IExplodeInPlayer DoMeshExplodeInFloatinessFadeOut(this TMP_Text target, string text = null, float explosionPower = 200, float fadedelay = 0, float factorMin = 0.02F, float factorMax = 0.15F, float duration = 1);
IExplodeInPlayer DoMeshExplodeInFloatinessFadeOut(this TMP_Text target, AnimationCurve curve, string text = null, float explosionPower = 200, float fadedelay = 0, float factorMin = 0.02F, float factorMax = 0.15F);
• Parameters
- - TMP_Text target:
- The TMPPro.TMP_Text component to animate.
-  
- - string text:
- Text to append to the existing text.
- The string to display with a typewriter animation.
-  
- - float explosionPower:
- The maximum explosion power reached during forward playback.
-  
- - float fadedelay:
- Delay before starting the fade-out.
-  
- - float factorMin / factorMax:
- Range of floating intensity. Each character receives a random wobble between factorMin and factorMax.
-  
- - float duration:
- Duration of the animation in seconds.
-  
- - AnimationCurve curve:
- Custom curve used to control animation progression.
- Since the curve’s time axis becomes the animation duration, the duration parameter is ignored.
▶
DoMeshExplodeInRotateFadeOut
A utility method that directly manipulates TextMeshPro vertex data to rotate characters individually, scatter them explosively, and fade them out.
IExplodeInPlayer DoMeshExplodeInRotateFadeOut(this TMP_Text target, string text = null, float explosionPower = 200, float fadedelay = 0, float rotateMin = 50, float rotateMax = 500, float duration = 1);
IExplodeInPlayer DoMeshExplodeInRotateFadeOut(this TMP_Text target, AnimationCurve curve, string text = null, float explosionPower = 200, float fadedelay = 0, float rotateMin = 50, float rotateMax = 500);
• Parameters
- - TMP_Text target:
- The TMPPro.TMP_Text component to animate.
-  
- - string text:
- Text to append to the existing text.
- The string to display with a typewriter animation.
-  
- - float explosionPower:
- The maximum explosion power reached during forward playback.
-  
- - float fadedelay:
- Delay before starting the fade-out.
-  
- - float rotateMin / rotateMax:
- Rotation angle range when rotation is enabled.
- Each character rotates at a random angle between rotateMin and rotateMax.
-  
- - float duration:
- Duration of the animation in seconds.
-  
- - AnimationCurve curve:
- Custom curve used to control animation progression.
- Since the curve’s time axis becomes the animation duration, the duration parameter is ignored.
▶
DoMeshReveal
A utility method that directly manipulates TextMeshPro vertices to create complex character animations such as Fade / Scale / Move / Rotate / Wave / Bounce.
IRevealPlayer DoMeshReveal(this TMP_Text target, bool reveal = true, string text = null, bool fadetween = false, float alpha = 1, bool postween = false, Vector3 distance = default, bool scaletween = false, float scale = 1, bool rotatetween = false, Vector3 rotate = default, WaveType wavetype = WaveType.None, float frequency = 0, float duration = 1);
IRevealPlayer DoMeshReveal(this TMP_Text target, AnimationCurve curve, bool reveal = true, string text = null, bool fadetween = false, float alpha = 1, bool postween = false, Vector3 distance = default, bool scaletween = false, float scale = 1, bool rotatetween = false, Vector3 rotate = default, WaveType wavetype = WaveType.None, float frequency = 0);
• Parameters
- - TMP_Text target:
- The TMPPro.TMP_Text component to animate.
-  
- - bool reveal:
- Whether to use the typewriter-style character reveal animation.
-  
- - string text:
- Text to append to the existing text.
- The string to display with a typewriter animation.
-  
- - bool fadetween:
- Whether to use fade animation.
-  
- - float alpha:
- Forward playback: alpha → 1.
- Reverse playback: 1 → alpha.
-  
- - bool postween:
- Whether to use movement animation.
-  
- - Vector3 distance:
- Forward playback: distance → Vector3.zero.
- Reverse playback: Vector3.zero → distance.
-  
- - bool scaletween:
- Whether to use scale animation.
-  
- - float scale:
- Forward playback: scale → 1.
- Reverse playback: 1 → scale.
-  
- - bool rotatetween:
- Whether to use rotation animation.
-  
- - Vector3 rotate:
- Forward playback: rotate → Vector3.zero.
- Reverse playback: Vector3.zero → rotate.
-  
- - WaveType wavetype:
- None
- Wavy
- Bounce
-  
- - float frequency:
- Frequency value used for Wavy / Bounce.
-  
- - float duration:
- Duration of the animation in seconds.
-  
- - AnimationCurve curve:
- Custom curve used to control animation progression.
- Since the curve’s time axis becomes the animation duration, the duration parameter is ignored.
▶
DoMeshFadeReveal
A utility method that directly manipulates TextMeshPro vertices to perform composite text effects centered around Fade + Reveal.
IRevealPlayer DoMeshFadeReveal(this TMP_Text target, float alpha = 0, bool reveal = true, string text = null, float duration = 1);
IRevealPlayer DoMeshFadeReveal(this TMP_Text target, AnimationCurve curve, float alpha = 0, bool reveal = true, string text = null);
• Parameters
- - TMP_Text target:
- The TMPPro.TMP_Text component to animate.
-  
- - bool reveal:
- Whether to use the typewriter-style character reveal animation.
-  
- - string text:
- Text to append to the existing text.
- The string to display with a typewriter animation.
-  
- - float alpha:
- Forward playback: alpha → 1.
- Reverse playback: 1 → alpha.
-  
- - float duration:
- Duration of the animation in seconds.
-  
- - AnimationCurve curve:
- Custom curve used to control animation progression.
- Since the curve’s time axis becomes the animation duration, the duration parameter is ignored.
▶
DoMeshMoveReveal / DoMeshMove(X/Y/Z)Reveal
Utility methods that directly manipulate TextMeshPro vertices to create animations combining Move (translation) + Reveal, with optional Wave / Bounce effects.
IRevealPlayer DoMeshMoveReveal(this TMP_Text target, Vector3 distance, WaveType wavetype = WaveType.None, float frequency = 0, bool reveal = true, string text = null, float duration = 1);
IRevealPlayer DoMeshMoveReveal(this TMP_Text target, Vector3 distance, AnimationCurve curve, WaveType wavetype = WaveType.None, float frequency = 0, bool reveal = true, string text = null);
IRevealPlayer DoMeshMoveXReveal(this TMP_Text target, float x, WaveType wavetype = WaveType.None, float frequency = 0, bool reveal = true, string text = null, float duration = 1);
IRevealPlayer DoMeshMoveXReveal(this TMP_Text target, float x, AnimationCurve curve, WaveType wavetype = WaveType.None, float frequency = 0, bool reveal = true, string text = null);
IRevealPlayer DoMeshMoveYReveal(this TMP_Text target, float y, WaveType wavetype = WaveType.None, float frequency = 0, bool reveal = true, string text = null, float duration = 1);
IRevealPlayer DoMeshMoveYReveal(this TMP_Text target, float y, AnimationCurve curve, WaveType wavetype = WaveType.None, float frequency = 0, bool reveal = true, string text = null);
IRevealPlayer DoMeshMoveZReveal(this TMP_Text target, float z, WaveType wavetype = WaveType.None, float frequency = 0, bool reveal = true, string text = null, float duration = 1);
IRevealPlayer DoMeshMoveZReveal(this TMP_Text target, float z, AnimationCurve curve, WaveType wavetype = WaveType.None, float frequency = 0, bool reveal = true, string text = null);
• Parameters
- - TMP_Text target:
- The TMPPro.TMP_Text component to animate.
-  
- - bool reveal:
- Whether to use the typewriter-style character reveal animation.
-  
- - string text:
- Text to append to the existing content.
- The string to display using the typewriter reveal animation.
-  
- - Vector3 distance:
- Forward playback: distance → Vector3.zero.
- Reverse playback: Vector3.zero → distance.
-  
- - float x / y / z:
- Forward playback: (x/y/z) → 0.
- Reverse playback: 0 → (x/y/z).
-  
- - WaveType wavetype:
- None
- Wavy
- Bounce
-  
- - float frequency:
- Frequency value used when Wavy / Bounce is enabled.
-  
- - float duration:
- Duration of the animation in seconds.
-  
- - AnimationCurve curve:
- Custom curve used to control animation progression.
- The curve’s time axis directly defines the animation duration, so the duration parameter is ignored.
▶
DoMeshRotateReveal / DoMeshRotate(X/Y/Z)Reveal
Utility methods that directly manipulate TextMeshPro vertices to create animations combining Rotate + Reveal.
IRevealPlayer DoMeshRotateReveal(this TMP_Text target, Vector3 rotate, bool reveal = true, string text = null, float duration = 1);
IRevealPlayer DoMeshRotateReveal(this TMP_Text target, Vector3 rotate, AnimationCurve curve, bool reveal = true, string text = null);
IRevealPlayer DoMeshRotateXReveal(this TMP_Text target, float x, bool reveal = true, string text = null, float duration = 1);
IRevealPlayer DoMeshRotateXReveal(this TMP_Text target, float x, AnimationCurve curve, bool reveal = true, string text = null);
IRevealPlayer DoMeshRotateYReveal(this TMP_Text target, float y, AnimationCurve curve, bool reveal = true, string text = null);
IRevealPlayer DoMeshRotateYReveal(this TMP_Text target, float y, bool reveal = true, string text = null, float duration = 1);
IRevealPlayer DoMeshRotateZReveal(this TMP_Text target, float z, bool reveal = true, string text = null, float duration = 1);
IRevealPlayer DoMeshRotateZReveal(this TMP_Text target, float z, AnimationCurve curve, bool reveal = true, string text = null);
• Parameters
- - TMP_Text target:
- The TMPPro.TMP_Text component to animate.
-  
- - bool reveal:
- Whether to use the typewriter-style character reveal animation.
-  
- - string text:
- Text to append to the existing content.
- The string to display using the typewriter reveal animation.
-  
- - Vector3 rotate:
- Forward playback: rotate → Vector3.zero.
- Reverse playback: Vector3.zero → rotate.
-  
- - float x / y / z:
- Forward playback: (x/y/z) → 0.
- Reverse playback: 0 → (x/y/z).
-  
- - float duration:
- Duration of the animation in seconds.
-  
- - AnimationCurve curve:
- Custom curve used to control animation progression.
- The curve’s time axis directly defines the animation duration, so the duration parameter is ignored.
▶
DoMeshScaleReveal
Utility methods that directly manipulate TextMeshPro vertices to create animations combining Scale + Reveal.
IRevealPlayer DoMeshScaleReveal(this TMP_Text target, AnimationCurve curve, float scale = 0, bool reveal = true, string text = null);
IRevealPlayer DoMeshScaleReveal(this TMP_Text target, float scale = 0, bool reveal = true, string text = null, float duration = 1);
• Parameters
- - TMP_Text target:
- The TMPPro.TMP_Text component to animate.
-  
- - bool reveal:
- Whether to use the typewriter-style character reveal animation.
-  
- - string text:
- Text to append to the existing content.
- The string to display using the typewriter reveal animation.
-  
- - float scale:
- Forward playback: scale → 1.
- Reverse playback: 1 → scale.
-  
- - float duration:
- Duration of the animation in seconds.
-  
- - AnimationCurve curve:
- Custom curve used to control animation progression.
- The curve’s time axis directly defines the animation duration, so the duration parameter is ignored.
▶
Path Settings
Animation system for moving objects along a multi-point curve (path).
IPathPlayer SetClosed(bool closed);
- Whether to connect the start and end points.
• Parameters
- - bool closed:
- true: closed loop
- false: open curve
IPathPlayer SetLookMode(PathLookMode lookmode);
- Controls the facing direction of the moving object.
• Parameters
- - PathLookMode lookmode:
- None: keep current rotation
- Forward: face tangent direction
- Right: face +X relative to path direction
- Left: face –X relative to path direction
IPathPlayer SetPoints(List vectors);
- Sets the control points of the path.
IPathPlayer SetTarget(Transform target);
- Sets the object to move along the path.
IPathPlayer SetUseLocalPosition(bool uselocal);
- Whether to use local coordinates.
• Parameters
- - bool uselocal:
- true: use local position
- false: use world position
IPathPlayer SnapTargetToFirstPoint();
- Moves the target to the first point
▶
CurveTween Settings
iTweenPlayer SetDelay(float delay);
- Delay before animation starts.
iTweenPlayer SetDuration(float duration);
- Animation duration in seconds.
iTweenPlayer SetEase(EaseType easeType);
- Sets normalized 0–1 easing curve.
iTweenPlayer SetLoop(bool loop);
- Whether to loop the animation.
iTweenPlayer SetLoopCount(int loopCount);
iTweenPlayer SetLoopDelay(bool loopDelay);
- Whether to apply delay on loops.
iTweenPlayer SetLoopType(LoopType loopType);
• Parameters
- - LoopType loopType:
- Resart
- YoYo
- Increment
iTweenPlayer SetScaledTime(bool scaledtime);
- Whether to use Time.timeScale.
iTweenPlayer SetYoYoDelay(float yoYoDelay);
- Delay before reverse motion in YoYo mode.
ITweenPlayerSetValue(object value);
- Resets target or forwardValue before animation.
- CanvasGroup / Graphic / Material / Transform / Text / TMP_Text / Vector3 / String / float etc.
▶
Play / Stop
void Play();
void Play(bool reversePlay);
• Parameters
- - bool reversePlay:
- reversePlay = true → play backward
void PlayOnce();
- Plays once and releases unless looping.
void PlayReverseOnce();
- Reverse once and release unless looping.
void Stop();
void ForceEnd(bool invokeCallback);
- ForceEnd is a method that immediately terminates the process, bypassing the normal termination flow.
• Parameters
- - bool invokeCallback:
- true:Executes the completion callback after the forced termination.
- false:Does not execute the completion callback.
void StopAndReset();
- Stops and resets to initial state.
▶
Event Callbacks
iTweenPlayer AddOnStartListener(UnityAction call);
- Called when animation starts.
iTweenPlayer AddOnYoYoListener(UnityAction call);
- Called when reaching 1.0 in YoYo mode.
iTweenPlayer AddOnCompleteListener(UnityAction call);
- Called when animation completes (non-looping).
▶
GetAnimationCurve
Generates a Keyframe curve based on EaseType.
Keyframe[] CurveTweenUtility.GetAnimationCurve(EaseType easeType);