TextTween

July 21, 2025 ยท View on GitHub

TextTween

TextTween is a lightweight Unity library designed to animate TextMesh Pro (TMP) texts with high performance. It leverages Unity's Job System and Burst Compiler to deliver smooth and efficient character-level animations.

โœจ Features

  • ๐Ÿš€ High-performance character animation using Jobs and Burst
  • ๐Ÿ”  Fine-grained control over individual TMP characters
  • ๐ŸŽฎ Easy to integrate into existing Unity projects
  • ๐Ÿงฉ Lightweight and dependency-free (except TMP)

Compatibility

Unity VersionCompatible
2021?
2022โœ“
6โœ“
Render PipelineCompatible
URPโœ“
HDRPโœ“

๐Ÿ“ฆ Installation

Releases

You can find .unitypackage bundles in the Releases section.

Package Manager - NPM

You can add the package via the PackageManager via NPM

  1. Open Unity Package Manager
  2. (Optional) Enable Pre-release packages to get the latest, cutting-edge builds
  3. Open the Advanced Package Settings
  4. Add an entry for a new "Scoped Registry"
    • Name: NPM
    • URL: https://registry.npmjs.org
    • Scope(s): com.alicanhasirci.texttween
  5. Resolve the latest com.alicanhasirci.texttween

Package Manager - Git

You can add the package via PackageManager with the URL:

git@github.com:AlicanHasirci/TextTween.git

Raw

Clone or download the repo and include in somewhere in your project's Assets folder. Recommendation is to group this and other libraries under a single ThirdParty folder for ease of identification.

๐Ÿš€ Usage

  1. Start by adding TweenManager to your text.
  2. Bind the text to Texts property.
  3. Add modifier components to a game object and add them to the list of Modifiers. Re-arrange the modifiers to change the order of modification.

Modifiers

1.Interval Modifier

Changes the character intervals by either overlapping or differing them.

2.Transform Modifier

Allows you to modify letters position, scale or rotation according to curve over progress of TweenManager.

  • Curve: Add easing to progress propagated by tween manager.
  • Type: Shows the value to modify(position, rotation or scale).
  • Scale: Dimension mask for scale operation.
  • Intensity: Amount of change per axis.
  • Pivot: Pivot point of transformation.

3.Color Modifier

Lets to change the color of letters over time.

  • Gradient: The colors that will be interpolated according to progress.

4.Warp Modifier

Warps the lines of text according to intensity and curve provided over progress. The intensity is multiplied by the curve value and applied to letters as Y displacement.

  • Intensity: Amount of displacement
  • Warp Curve: Curve to be used by modifier

Performance

TextColor Modifier Op/sTransform Modifier Op/sWarp Modifier Op/s
A21,22786,917136,197
Ax1016,75023,95777,840
Ax1009,1508,0001,682
Ax1,0002,3021,5523,182
Ax10,000277172345
Ax16,25017097212

Contributing

Please open issues if you encounter any problems!

This project uses CSharpier with the default configuration to enable an enforced, consistent style. If you would like to contribute, recommendation is to ensure that changed files are ran through CSharpier prior to merge. This can be done automatically through editor plugins, or, minimally, by installing a pre-commit hook