Quick answer: Unity TextMeshPro wrapping text in the middle of an emoji glyph? Wrap algorithm sees surrogate pair as two characters - configure word wrap with surrogate awareness.

Chat with emojis: long lines wrap; emoji split across lines; renders as garbage.

Use TMP's word wrap

Configure as Word Wrap (not Character). Surrogate pairs treated as one word.

Or pre-process text

Insert zero-width joiners between emojis and surrounding text. Wrap stays clean.

Use a font with full emoji support

Per-emoji rendering; wrap is per-glyph; surrogate-aware automatically.

“Text wrapping assumes single-character glyphs. Emoji breaks the assumption.”

If you ship chat with emojis, the wrap audit is mandatory. Test with mixed scripts.

Related reading