Feel free to open issues for any questions you have that are not answered by the docs!
Also, please share any cool stuff you made with TMPEffects -- I want to get a little example section going
If you want to, please support me / TMPEffects on Ko-fi!
TMPEffects allows you to easily apply all kinds of effects to your TextMeshPro texts using (custom) tags
• Animate text blocks continuously |
• Show and hide text over time |
• Animate the show / hide sequence |
• Raise commands at any given index |
-
Raise events at any given index
-
API to create your own animations / commands / tags
-
If you don't like to code: create animations right in the inspector and / or in Unity's Timeline
-
Many other features (timeline integration, keyword databases, ...)
The rest of this README gives just a quick overview of TMPEffects, you definitely should refer to the manual when questions come up!
TMPEffects comes with a lot of built-in animations (most of which are really versatile when using tag parameters):
There are also various built-in show/hide animations (which are just as versatile):
For a full preview of built-in animations, show / hide animations, and commands, as well as each of their parameters, see the respective documentation.
You can easily create your own animations and commands through custom scripts (animations, commands).
Additionally, if you prefer not to code, you can create animations in the inspector using GenericAnimations or through Unity's timeline window, if you have it installed:
TMPEffects comes with very strong support for tag parameters; when creating an animation or command from script adding a parameter to your animation is as easy as decorating it with the [AutoParameter] attribute:
[AutoParameter("ampltiude", "amp"), SerializeField]
private float amplitude;
You can now set amplitude from the tag (e.g. <wave amp=12>) and use the value in your animation / command logic!
On top of that, TMPEffects has many types that are supported out of the box (float, Vector3, AnimationCurve...) as well as giving you the ability to easily create your own (which are also compatible with the AutoParameter attribute). You can also define custom keywords using Keyword databases.
These are the external packages TMPEffects is integrated and confirmed to work with.
If there is some other package/tool you'd like to see TMPEffects integrated with, feel free to open an issue (or, even better, a pull request!)
TMPEffects is fully integrated with Unity's Timeline package, providing custom tracks, clips and markers.
TMPEffects works out of the box with YarnSpinner, you only have to disable YarnSpinner's built-in typewriter effects (see the docs on that).
You can even use variables defined in YarnSpinner scripts as tag parameters!
- TMPEffects is compatible with Unity 2021.3 and up
- Tested in 2021.3, 2022.3 and 2023.2; if you have compatibility issues in another version (>= 2021.3), please open an issue for it!
- Only dependency: Unity's TextMeshPro package (automatically included in Unity 2018.3 and up)
TMPEffects is available on the OpenUPM registry.
Alternatively, you can install TMPEffects through the Unity Package Manager, using the git url:
https://github.com/Luca3317/TMPEffects.git?path=/Package
If you don't know how to install packages using git urls, see the docs.
If you instead want to simply clone the repository,
you will have to manually import the required resources located under Assets > TMPEffects > Resources.
Add the TMPAnimator and/or TMPWriter component to a GameObject with a TextMeshPro(UI) component, and select "use default database" in both their inspectors.
You will get a prompt to import the required resources. Hit the button and you're done setting up TMPEffects!
The full documentation can be found here.