https://github.com/bluepixeldev/textmotion-pro
TextMotionPro is an animated text solution for Unity's TextMeshPro. Animate your text easily with customizable effects and smooth integration.
https://github.com/bluepixeldev/textmotion-pro
animation plugin text text-effects textmeshpro typewriter unity unity3d unity3d-plugin unity6
Last synced: about 14 hours ago
JSON representation
TextMotionPro is an animated text solution for Unity's TextMeshPro. Animate your text easily with customizable effects and smooth integration.
- Host: GitHub
- URL: https://github.com/bluepixeldev/textmotion-pro
- Owner: BluePixelDev
- License: mit
- Created: 2024-12-07T15:17:16.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-05-17T08:09:40.000Z (12 months ago)
- Last Synced: 2025-06-29T06:02:10.956Z (10 months ago)
- Topics: animation, plugin, text, text-effects, textmeshpro, typewriter, unity, unity3d, unity3d-plugin, unity6
- Language: C#
- Homepage:
- Size: 110 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# textmotion-pro
[](https://unity.com/)
[](https://github.com/bluepixeldev/textmotion-pro/commits/main)
[](https://github.com/bluepixeldev/textmotion-pro/stargazers)
[](https://github.com/bluepixeldev/textmotion-pro/issues)
**textmotion-pro** is a modular and performant animation system for [TextMeshPro](https://docs.unity3d.com/Packages/com.unity.textmeshpro@latest) components in Unity 6 and above. It allows you to author complex, character-based text animations using reusable `ScriptableObject` assets in a profile-driven setup inspired by Unity's Volume system.
## Features
- Modular text effects defined as `ScriptableObject`s
- Lightweight and performant — ideal for UI and in-game text
- Works with Unity 6.0 and above
- Tag-based animation control similar to HTML or BBCode
- Compatible with TextMeshPro components
- Runtime and editor-time updates supported
## Installation
1. Clone or download this repository into your Unity project under `Assets/textmotion-pro`.
2. Ensure **TextMeshPro** is installed in your project via Unity Package Manager.
3. Use Unity 6.0 or later for full compatibility.
## Usage
### 1. Create a Motion Profile
- Right-click in the Project window → **Create → textmotion-pro → MotionProfile**
- Add or configure `TextEffect` assets to this profile.
### 2. Attach `TextMotionPro`
- Add the `TextMotionPro` component to a GameObject with a `TMP_Text` component.
- Assign a `MotionProfile` to the renderer.
### 3. Use Tags in Text
- Use tags like `Text` where `"Wave"` matches the `EffectTag` of a `TextEffect`.
## Extending
To implement a new animation:
1. Create a class inheriting from `TextEffect`.
2. Implement the `ApplyEffect()` method.
3. Define an `EffectTag` and optionally override validation or reset behavior.
4. Add the effect to a MotionProfile.
## Example
```csharp
[TextEffect("Wave", "Wavy motion effect for characters")]
public class WaveEffect : TextEffect
{
public override string EffectTag => "Wave";
public override void ApplyEffect(MotionRenderContext context)
{
// Animation logic here
}
}
````