Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Question How to support ANY character in ANY language?

Discussion in 'UGUI & TextMesh Pro' started by Faic, Aug 8, 2023.

  1. Faic

    Faic

    Joined:
    Jun 2, 2015
    Posts:
    19
    Goal: User types any text on any platform and the text is shown.

    How on earth is such a simple thing not possible with TMP in Unity without major headaches, except when using 10 year old legacy Text?!?

    Does the new TextCore support displaying of text? Such as 1z→▶⁜▣▼事Їبْجَษรไ한글らが

    What is the official approach?
    My app is just a few megabyte so I'm not going to ship it with 1gb of fonts.
     
  2. jiraphatK

    jiraphatK

    Joined:
    Sep 29, 2018
    Posts:
    245
    Practically impossible with TMP. Users have been asking for years for these feature and they just don't/can't/won't do it. Even emoji is not fully support and u have to include massive emoji texture with the build. What a great text foundation for the engine going forward it's not about atlas either, but tmp can't render other language correctly.
     
  3. Faic

    Faic

    Joined:
    Jun 2, 2015
    Posts:
    19
    Ok, I remember reading somewhere in some comment that TextCore will/has solved this.

    So that means I have the choice to either:
    • Downgrade to legacy Text.
    • Upgrade to TextCore (If they added the legacy functionality of displaying text back)
    • Tell all 100k users of my app that I'm using Unity and it might can't display their text in the year 2023 ?!?
    Does anyone know if TextCore fixed this?
     
  4. jiraphatK

    jiraphatK

    Joined:
    Sep 29, 2018
    Posts:
    245
    As far as I know, not yet. Some language like TH require glyp substitution to work correctly. Which the latest text still doesnt support. And this is just one language. Imagine other language that need even more advance opentype font feature. Oh! And word tokanizer too. Unity will absolutely cut your user sentence or worse in the middle of the word without realizing context and mess up the meaning.
    Also, glyp seqeunce to suport advance emoji is still not working. So expect your user to see [] []‍‍‍ soemthing like that.
    The chat box is the bane of existence of Unity, i swear. I would just try webview tbh. No point waiting for unity because i can tell that it'll not be ready anywhere in near future.
     
  5. jiraphatK

    jiraphatK

    Joined:
    Sep 29, 2018
    Posts:
    245
    https://sluglibrary.com/
    Better yet, you could try ur hand at this library, I have no idea how hard it is to integrate with Unity or how expensive, but this fix all the pain point and only leaves word tokanizer problem.
     
  6. Faic

    Faic

    Joined:
    Jun 2, 2015
    Posts:
    19
    That's insane. I don't know of any other software I have touched in the last 10 years that can not accept absolutely anything I throw at it. INCLUDING UNITY LEGACY TEXT ... what even?!? Common guys, that is ridiculous!

    I have to be honest here: Supporting languages in my app is already financially not worth it. I'm not going to spend weeks doing Unity's job.

    Porting to textCore would have been at least justifiable since that probably is the way forward, but it seems even that is pointless.

    And to top it off with some frustrating side note: I'm still forced to use legacy text at one specific point because TMP is so slow with tons of text that I get flagged as ANR in the google playstore ... what a joke.