TextWeaver – Advanced Text Animation & Effects for TextMeshPro


Receiving playback and reveal events ... Built-In Effects ... TextMeshPro Integration ... It does not require a separate text component for every animated section and does not ... Requirements


by AstraValle


Price History +

TextMeshPro tool for correctly displaying and animating Arabic, RTL, and cursive-script text.

Features

  • Designed for Arabic and cursive-language text
  • Right-to-left text direction support
  • Contextual text shaping for cursive scripts such as Arabic
  • Cursive-aware mesh animation for connected letterforms
  • Intelligent segmentation of cursive words into logical animation segments
  • Animate cursive text segment by segment or as a complete word
  • Built-in animation logic designed to avoid visible tearing of connected letters
  • 12 built-in animation effects
  • Stack and combine multiple effects on overlapping text spans
  • Configurable effect parameters through the Authoring Window
  • Text reveal / typewriter playback
  • Configurable reveal speed
  • Reveal behavior can be controlled independently from animation
  • Optional reveal=instant behavior for supported effects
  • Shader spans for selected portions of text
  • TMP-compatible shader material support
  • Standard TextMeshPro rich-text tags can be preserved alongside TextWeaver tags
  • Tag-driven text authoring
  • Optional Unity Editor Authoring Window
  • Open and save TextWeaver source as standard .txt files
  • Runtime parser API
  • Runtime TextWeaverTMP component
  • Bind TextWeaver to existing TMP_Text components
  • Runtime playback controls including Play, Pause, Stop, and Show All
  • Runtime events for playback and reveal completion
  • Designed to integrate with existing dialogue, localization, subtitle, and narrative systems

Runtime API


TextWeaver provides a runtime parser for converting tagged source text into a parsed document containing display text, animation spans, reveal spans, and diagnostics.


The TextWeaverTMP runtime component provides APIs for:

  • Setting text or a parsed document
  • Playing, pausing, and stopping playback
  • Revealing all text
  • Controlling reveal progress
  • Binding to a TMP_Text target
  • Monitoring playback and reveal state
  • Receiving playback and reveal events

Cursive Animation


Cursive animation is handled separately from standard character animation.


For cursive scripts such as Arabic, TextWeaver can determine logical animation units within connected text rather than treating every visible glyph as an independent animation target.


These units can be animated independently or grouped so that an entire connected word moves together.


The cursive mesh animation system is designed to preserve the visual relationship between connected letters while applying movement, rotation, scaling, and other supported effects.


Built-In Effects


TextWeaver currently includes 12 built-in animation effects, with effect-specific parameters exposed through the Authoring Window and runtime effect metadata.

Each effect can be configured independently rather than relying on a single fixed set of parameters.


Shader Spans


Shader spans allow a selected text range to use a TextWeaver-controlled TMP-compatible material.

Shader spans can be authored within TextWeaver text and rendered through the bound TextWeaverTMP component without storing Unity object references inside the source .txt text.


TextWeaver includes sample materials for testing shader spans, including a glow/outline material and a dimensional type shader.


TextMeshPro Integration


TextWeaver is built around TextMeshPro and can be used with existing TMP text objects.

It does not require a separate text component for every animated section and does not replace your dialogue or localization framework.


Your existing systems can continue to handle dialogue flow, localization lookup, speaker data, choices, cutscenes, input, and voice timing while TextWeaver handles text parsing, reveal, and animation.


Authoring Window


The optional Authoring Window provides an editor workflow for creating and editing TextWeaver source text.


It can open and save standard .txt files containing TextWeaver markup. The source remains plain text rather than becoming a custom imported asset type.


Requirements

  • Unity 2022.3 LTS or newer
  • TextMeshPro 3.0.7 or compatible supported version

TextWeaver is distributed as the com.astravalle.textweaver Unity package.

Display and Animate Arabic Correctly in Unity


Arabic and other cursive writing systems create a unique challenge for game developers. Their letters connect, change shape depending on surrounding characters, and cannot be treated like a sequence of independent characters without breaking the visual structure of the language.


TextWeaver is built to solve that problem.


Starting with Arabic, TextWeaver is a TextMeshPro tool focused on correctly displaying, revealing, and animating cursive text in Unity.

TextWeaver understands that cursive text needs different animation logic. Instead of simply animating one character at a time, it analyzes connected text and determines how a cursive word should be divided into logical animation segments.


This allows cursive text to be animated:

  • Segment by segment, for more expressive animations
  • As a complete word, when the connected word should move as one unit

The built-in animation system is designed around the structure of connected writing, helping avoid the visible tearing and separation that can occur when connected Arabic letters are animated independently.


Built for Arabic and Cursive Languages


TextWeaver provides dedicated support for Arabic text, including right-to-left text handling, contextual shaping, cursive-aware animation, and mesh handling designed for connected letterforms.

The goal is simple: your Arabic text should look correct before, during, and after animation.


12 Built-In Animation Effects


TextWeaver includes 12 built-in animation effects with configurable parameters and support for applying effects to selected text spans.


Effects can be combined and layered, allowing different parts of a sentence or word to animate independently while remaining within the same text workflow.


Shader Spans


TextWeaver also supports shader spans, allowing selected portions of text to use a dedicated TMP-compatible material.


This makes it possible to combine text animation with visual material effects without requiring separate text objects for every highlighted section.


Works With Your Existing TextMeshPro Workflow


TextWeaver is designed to work with your existing TMP_Text objects and game systems.


Use the TextWeaverTMP component directly, bind TextWeaver to an existing TextMeshPro target, or integrate through the runtime API.


Your existing dialogue and localization systems remain responsible for your game's content and flow. TextWeaver focuses on the text itself: parsing, displaying, revealing, and animating it.


Made for Game Developers


Whether you are building Arabic dialogue, subtitles, menus, UI, narrative sequences, or other in-game text, TextWeaver gives you a text animation workflow designed around the realities of cursive writing systems.


Start with Arabic. Build toward better cursive-language support in games.


Future Plans


AstraValle plans to continue developing TextWeaver with future updates and additional features. Additional TextWeaver editions, licensing options, support plans, or other commercial arrangements may also be introduced in the future. Any such offerings will be subject to their applicable terms.