Text Animator for Unity
More ToolsTutorialsDiscord✨ Get Text Animator ✨
1.X 🇬🇧
1.X 🇬🇧
  • Installing and quick start
  • Effects
    • How to add effects to your texts
    • Built In Effects List
    • Creating effects in the inspector
  • Typewriter
    • Text Animator Players
    • Triggering Events While Typing
    • Performing Actions While Typing
    • Text Animator Players Sound
  • Extra Customization
    • Writing Custom Effects C#
    • Writing Custom Actions C#
    • Writing Custom TAnimPlayers (C#)
  • Integrations
    • Integrated Plugins & Dialogue Systems
    • How to manually integrate Text Animator
  • Info
    • Support
    • Changelog
Powered by GitBook
On this page
  • How to create custom actions
  • 1. Registering custom action IDs
  • 2. Processing actions in a custom typewriter
  1. Extra Customization

Writing Custom Actions C#

PreviousWriting Custom Effects C#NextWriting Custom TAnimPlayers (C#)

Last updated 7 months ago

You're reading the documentation of an older/legacy version, Text Animator 1.X. To read the latest version, please visit this page instead . How to update:


You can create your own Custom Actions via script (C#).

(Do not forget to read here: Performing Actions While Typing )


How to create custom actions

1. Registering custom action IDs

In order to tell TextAnimator which tags are custom actions, you need to add them in the "Custom Actions" array (located in the TextAnimator's GlobalData Scriptable Object asset).

P.S. In case you don't have a GlobalData Scriptable Object, please on how to create it.

In this example, I'm setting "playAudio" as a custom action.

2. Processing actions in a custom typewriter

Your Custom Actions can be performed by a custom typewriter:

  1. Create a new typewriter class (Read more here).

  2. Override the DoCustomAction method (do not invoke the base method).

  3. Perform specific actions based on the given "actionID" and use any parameter as you wish.

  4. Add your new custom typewriter near a TextAnimator component, instead of the default "TextAnimatorPlayer".

Example script

using System.Collections;

//custom typewriter class
public class CustomTAnimPlayer : Febucci.UI.TextAnimatorPlayer
{
    protected override IEnumerator DoCustomAction(Febucci.UI.TypewriterAction action)
    {
        switch (action.actionID)
        {
            case "playAudio": //example: an action that plays given sounds
                for(int i = 0; i < action.parameters.Count; i++)
                {
                    AudioManager.PlaySoundFromID(action.parameters[i]);
                }
                yield return new WaitForSeconds(2); //holds the typewriter for 2 seconds
                break;
        }

    }
}

Done! With this simple procedure, you can add any Custom Action you want.

2.X 🇬🇧
read here
Upgrading from 1.X to 2.X