TextMeshPro does not natively provide complete Arabic shaping and bidirectional RTL layout. Arabic letters can appear isolated or in the wrong visual order, and mixed Arabic, Hebrew, English and numeric text creates additional problems. The usual solutions are either a native shaping plugin you cannot ship to WebGL, or a string converter that falls apart the moment you want the text to animate.
Online Demo Showcase | Online Documentation
TypeFlow Pro works differently. Drop the TypeFlow Text component onto a TextMeshPro label you already have and it hooks Unity's official text-preprocessing path. Arabic letters join into their contextual forms, the UAX #9 bidirectional algorithm puts mixed RTL, Latin and numeric runs into the correct visual order, punctuation mirrors where the standard says it should, and alignment flips to match the paragraph direction.
Your materials, shaders, canvases and prefabs are untouched. Turn the component off and you are back to plain TextMeshPro, with nothing to migrate or undo.
Add TypeFlow Animator and that same text can type out, wave, shake, pause on punctuation, wait for a button press and fire dialogue events. The typewriter reveal follows logical source order, so Arabic and other RTL text types the way a reader expects instead of appearing backwards — which is what generic per-character text animators often do after visual reordering.
Two tiers ship together
Tier 1 — the TextMeshPro RTL layer. This is the everyday path and the reason most people will buy the package. Arabic, Hebrew, Persian/Farsi and Urdu shaping; Unicode bidirectional ordering; contextual digit shaping; alignment auto-flip; an RTL-aware typewriter and 20 text animation behaviors; clickable links; and Markdown-to-TMP conversion. It runs inside the TMP workflow you already know.
Tier 2 — Kiln. A standalone OpenType font renderer written entirely in C#, for cases a pre-baked TMP atlas cannot express. It parses the font itself: TrueType and CFF outlines, GSUB substitution, GPOS positioning, variable-font axes, COLR/CPAL colour emoji, SDF and MSDF rasterisation, outlines, shadows and gradients. Point it at a .ttf or .otf you have the rights to and it renders from that font's own tables.
You can ignore Tier 2 entirely and still get full value from the TextMeshPro layer.
Evidence you can check yourself
Text layout is the kind of problem where "it looks right in my test string" means very little, so the package ships its proof rather than simply asserting quality.
448 automated tests (421 edit-mode, 27 play-mode) are included in the package and run in Unity's Test Runner on your machine.
Conformance is measured against the official Unicode test suites, reported per suite rather than as a single flattering average:
• Grapheme break — 100%
• Word break — 100%
• Sentence break — 100%
• Bidi character — 99.97%
• Line break — 99.73%
Those numbers are floored by regression tests, so they cannot quietly get worse in a later version.
No native binaries. TypeFlow Pro is 100% managed C#. The included demo has been verified by building to WebGL (IL2CPP to WebAssembly) and to a Windows IL2CPP standalone player, both with zero errors. That is what makes the RTL and Arabic shaping layer usable on WebGL, where native shaping plugins are not an option.
What you can build with it
Arabic and Hebrew game UI. Persian/Farsi and Urdu dialogue boxes. Mixed English and RTL localization strings that stay correct when both directions appear on the same line. Visual-novel and RPG typewriter dialogue. Animated menu labels. Clickable rich text. Damage numbers and floating combat text. World-space 3D signage. Multi-language interfaces where Latin, Arabic, Hebrew, CJK, Thai, Devanagari and emoji share one pipeline.
Known limitations
Stated up front, because finding them after purchase is worse.
• Script coverage. Latin, Arabic, Hebrew, CJK, Devanagari (including conjuncts) and Thai are render-validated. Myanmar and Khmer cluster reordering is not modelled and those scripts fall back rather than shaping correctly.
• Per-span effect meshes. Gradient, outline and shadow are parsed and supported by the engine, but mixing several of those styles within a single string is not yet wired into the Tier-2 mesh renderer.
• The last fraction of a percent. Line break sits at 99.73% and bidi at 99.97%. The remaining cases are rare cluster and BD13 situations.
• Fonts. One Arabic face (Amiri, SIL OFL) is bundled. The engine ships no CJK, Indic or emoji fonts — point it at fonts you have the rights to. Colour emoji specifically need a COLR/CPAL v0 font; bitmap emoji formats such as CBDT and sbix are not supported.
Requirements
Unity 6000.0 or newer with TextMeshPro. No external services, API keys, HarfBuzz, FreeType or platform plugins.
Tier 1 requires TextMeshPro. Tier 2 (Kiln) renders on its own and does not.
Documentation is a single searchable HTML guide inside the package, covering both tiers, every component, the API and troubleshooting.
Support
Third-party content and licensing
One third-party component ships in this package: the Amiri Arabic typeface, bundled so the demo scenes and interactive showcase render Arabic the moment you import.
Asset uses Amiri under SIL Open Font License 1.1; see Third-Party Notices.txt file in package for details.


