Using Korean characters in TextMeshPro in Unity

Best method

Courtesy of this answer:

  1. Download the Korean font. For example https://fonts.google.com/specimen/Noto+Sans+KR.
  2. Import the .ttf font files into your Unity assets.
  3. In the assets list, select the font you want to convert.
  4. Press Cmd+Shift+F12. It generates the SDF font with all characters, hangeul, latin even with accents. However, it omits emoticons like ❤️. In fact, I was unable to generate a font that contains emoticons, even when inputing the emoticon as a character to generate for.

Old manual method

  1. Download the Korean font. For example https://fonts.google.com/specimen/Noto+Sans+KR.
  2. Import the .ttf font files into your Unity assets.
  3. In Unity, open the Font Asset Creator.
  4. Drag the font file.
  5. In Character Set, instead of "ASCII Characters", pick Custom Characters and write down the characters you want to include. Another way is to select a Unicode range, but I haven't looked the range of Korean characters yet.
  6. Click Generate, then Save.
  7. In your TMP Text shape, select the new font.
Korean characters now show up correctly.

Related docs: