Search Unity

TextMesh Pro Migrating from Asset Store to Package Manager Releases

Discussion in 'Unity UI & TextMesh Pro' started by Stephan_B, Jan 9, 2018.

  1. thesinickdios

    thesinickdios

    Joined:
    Aug 3, 2018
    Posts:
    2
    Yeah all is correct i dont know what is happend i hate the new update of unity all was good in unity 5 with TMPro
     
  2. RobRood

    RobRood

    Joined:
    Sep 25, 2016
    Posts:
    3
    We are attempting to migrate from from 2017.4.1f1 to 2018.2.2f1 (we do have backups made) and we are not finding the remapping tool under "Window - TextMeshPro - Project Files GUID Remapping Tool" after importing the Utility scrip into our project. We have do have the old version of TMpro in our project. My guess is that we missunderstood something about the process. Any help would be appreciated.
     
  3. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    2,269
    As per step #4 in the recommended procedure to upgrade to the package manager version of TMP, you have to remove the previous version of TextMesh Pro from the project. Failure to remove the previous version will likely result in lots of errors preventing Unity from compiling the scripts contained in the package hence why the Project Files GUID Remapping tool isn't showing up.

    Please make sure you review the full procedure outline on the first page as well as the Update Notes found at the bottom of that some post.
     
  4. RobRood

    RobRood

    Joined:
    Sep 25, 2016
    Posts:
    3
    Thanks for the quick reply, We had tried deleting the old TMP folder before converting, and were still running into problems, but we just located a lingering DLL that was missed hiding in a separate plugin folder. Removing it fixed the problem and now we have the GUID Remapping tool, and have successfully moved to 2018.2. Thanks.
     
    Stephan_B likes this.
  5. TomPo

    TomPo

    Joined:
    Nov 30, 2013
    Posts:
    56
    Just sent a bug report.
    New created project (2018.2.2f1) TMPro is installed by default.
    Created new script and.... using TMPro is red :/
    So of'course also
    public TextMeshProUGUI A;
    "Funny" is that on Unity side everything seems to working fine and I can see this variable in the editor and there is no error in the console.
    VS - Community 2017 15.7.6

    There is a problem if so many people have a problem with this...
     
  6. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    2,269
    I have acknowledged this issue several times. The issue is not related to TextMesh Pro itself but instead related to a combination of (1) the use of Assembly Definitions which all packages use. (2) The generated project solution which appears to get code editors like Visual Studio confused.

    This is most certainly a bug affecting Unity users. I most certainly feel the pain of users as I have to answer posts and emails about this issue several times per day. Whatever is causing this behavior, I want it fixed too.

    Now thus far, having users upgrade to the latest version of Visual Studio 2017 15.7.6 has resolved the issue. However, your report is the first one where this doesn't not appear to have worked. Please provide me with the case # of the bug report you filed.

    I would suggest you also try closing Unity and Visual Studio and restarting both to see if the problem goes away. Again, upgrading to Visual Studio 2017 15.7.6 should have resolved this.
     
  7. Rodolinc

    Rodolinc

    Joined:
    Sep 23, 2013
    Posts:
    59
    That solution worked for me after many tries without success, I replaced those files and worked. I am curious though what's the difference in the files?
     
  8. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    2,269
    The DLL version of TextMesh Pro includes both an Editor and Runtime DLL.

    By default the Editor DLL which contains #if UNITY_EDITOR compiler conditionals is used in the editor and the assets are serialized with GUID and FileID that correspond to this dll. When a build is created, the runtime DLL is used.

    So in theory all project files GUID and FileID should be referencing the TMP Editor dll and the PackageConversionData file references those GUIDs and FileIDs.

    However, as I have uncovered some users who migrated their projects from the source code version of TMP or had scripts missing references, manually assigned the runtime DLL instead of the Editor DLL to those scripts / project files and given these GUIDs and FileIDs are not part of the initial package conversion data json, are missed in the scanning process.

    Since adding these additional GUIDs and FileIDs in the PackageConversionData file doubles the number of items to scan for and would slow down the process by another 2X, they are included in the other file.

    Now since I added the ability to target individual folders now which can greatly speed up the conversion process, I could use the more inclusive combined file instead.
     
    Rodolinc likes this.
  9. TomPo

    TomPo

    Joined:
    Nov 30, 2013
    Posts:
    56
    I've updated the VS to the latest version (15.7.6) and when created new project (2018.2.2f1) once more all seems to working fine.
     
  10. CarpeFunSoftware

    CarpeFunSoftware

    Joined:
    May 7, 2015
    Posts:
    24
    Hello.
    Thanks to Stephan_B and Unity Tech for a great (genius) asset. I've had a lot of fun with it.

    I have run across something I'd like clarification on though. Maybe it's my install, maybe I don't understand the intended implementation, maybe it's a problem and someone else can recreate it.

    I'm running 2018.2.2f1, and the latest TMP (1.2.4) from the Package Manager as of this date. However, it has gone though many upgrades, from the free version through the current one along with many unity changes too.

    I'm basically making a "flyout" for points, floating up and out of the scene. Doesn't matter much, other than it's a 3D Text type of TMP asset, not a UI type.

    Anyway, if I make a TMP 3D text object in the editor, it works fine until I try and turn it into a prefab. Then it still works, but "changes". I'll note in passing that it does NOT have a text container on it after performing "Right-Click->3D Obect->Textmesh Pro - Text" But it seems to function OK.

    Then, if I drop in into my "Prefabs" folder in the project, the following are added to the object:
    A mesh filter with an empty mesh reference.
    A canvas renderer.

    I've tried it in an new project/new scene and same thing happens. I've tried adding a text container to it before making it a prefab, to no avail. Also, can't remove the canvas renderer nor mesh filter as they are "required".

    Is this intended/normal?
    What happened to the Text Container component?
    Is my install hosed up?

    Thanks in advance.
     
  11. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    2,269
    The Text Container was added to TextMesh Pro before the RectTransform was introduced in Unity 4.6.

    Since the Text Container sort of served the same purpose as the RectTransform, it was eventually removed. At the same time, the TMP_Text base class which both TextMesh Pro components inherit from was introduced. In order to support the Canvas system, the TMP_Text base class had to inherit from MaskableGraphic which in turn forced the RectTransform and CanvasRenderer on all text objects.

    Looking back, I would have done things differently to keep the normal TextMeshPro component free of Canvas related stuff and the RectTransform and kept the light weight Text Container paired up with a normal Transform. This is something that I am revisiting in the new text system to make sure each text component don't end up with similar dependencies which also included the Physics system due to the UI system using it for Raycasting.

    Although the normal text component ends up with a CanvasRenderer, it isn't used and doesn't really impact anything since the Mesh Renderer is being used by the normal TextMeshPro component.

    When the switch from the Text Container to RectTransform happened, the conversion of positional data was handled automatically but since that was almost 3 years ago, I am not sure how this transition would fare today going from Unity 5.2 + to Unity 2018.2. There were so many API changes between all these releases.

    So this is the rundown on why these additional components are present. Let me know if besides their presence, everything appears to be working / positioned as expected.

    BTW: if the object positions are correct, you should remove those old Text Containers from those prefabs. Again please make sure you backup everything first ;)
     
  12. CarpeFunSoftware

    CarpeFunSoftware

    Joined:
    May 7, 2015
    Posts:
    24
    Thanks for the speedy reply. Sorry to put you through the work if it's expected functionality. I had only used the UI versions previously.

    You might want to add a short note to the documentation that the Text Container is obsolete (I did read it first). Or maybe I read an old version?

    So far, so good. :) Just didn't want any object overhead if it was to be avoided.

    Thanks again. :) :) :)
     
    Stephan_B likes this.
  13. Rodolinc

    Rodolinc

    Joined:
    Sep 23, 2013
    Posts:
    59
    Thanks for the thorough explanation.
     
    Stephan_B likes this.
  14. stgs73

    stgs73

    Joined:
    Mar 23, 2015
    Posts:
    44
    We're noticing that atlases on 2018.2.2 are low quality, pixelated in some cases..we're trying to isolate the issue
    Do you happen to know of any reports re: atlas'd assets on devices ( Android/iOS ) looking sub-par?
    We noticed it with TM Pro fonts but then saw it on some non-font related assets as well
     
  15. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    2,269
    This is the first report of low quality but I am aware of some issue somewhere affecting rendering where these could be related.

    If you can manage to isolate this, it would be most beneficial.

    BTW: Since this post isn't specific to the migration of TMP from the older version to the new TMP UPM version, please consider making a separate post as it will increase visibility and potentially feedback from other users who might have run into something similar.
     
  16. stgs73

    stgs73

    Joined:
    Mar 23, 2015
    Posts:
    44
    Hi Stephen, the issue is very intermittent, i did notice some sprite atlas fixes in 2018.2.3 - we're going to test this to see
    It's only on assets usng atlases.
    Nothing has changed in the inspectors and the issue is very random, it will happen on one build, not on the next etc so it is hard to isolate the exact cause.
    It will not be TM Pro specific as other atlases we've placed icons on are experiencing the same issue. It also occurs on both Android + iOS

    Will update future posts in separate thread from TMPro. thnx
     
  17. Suminsky

    Suminsky

    Joined:
    Aug 11, 2011
    Posts:
    50
    So I did all the steps when updating to 2018.2.2f1 (from 2017.3.0f3), and all my textmeshpro in the scene are saying the associated script cant be found (missing script)..except for 2..Funny thing is these 2 have nothing in special. I have a menu with a globe representing earth, with lots of cities, each city have a textmeshpro in them for displaying the name. These 2 are just 2 more cities between lots of others...
     
  18. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    2,269
    Download the revised GUID conversion file located in this post and run the Project Files GUID Remapping tool again.

    The reasons as to why you would need to do this are explained in the Update Notes #6 in the first post of this thread and in that post I just linked.

    Let me know if this solves the issue with the objects.
     
  19. Suminsky

    Suminsky

    Joined:
    Aug 11, 2011
    Posts:
    50
    It worked. Thanks!
     
    Stephan_B likes this.
  20. trooper

    trooper

    Joined:
    Aug 21, 2009
    Posts:
    654
    I've run the GUID remapping tool and it looks like it's worked for a lot of stuff but it hasn't worked for my custom classes where I've inherited from TextMeshPro elements like Button.

    All the prefabs the tool listed looked correct and it updated all the text elements but it has removed targetGraphic objects.
     
  21. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    2,269
    See if these files get properly converted if you use the revised GUID conversion file referenced in my previous post just above. #268.
     
  22. GafferSystems

    GafferSystems

    Joined:
    Apr 24, 2017
    Posts:
    3
    I'm trying the scan option now, just a quick question.
    It seems like it's programmed to scan 1 file very second, why is that?
    I have 25038 files, meaning it takes me 6.9 hours to scan my project. (I'm halfway now, excited to see the result).
     
  23. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    2,269
    It is using yield return null which should be one GUID / file per frame.

    You can use the revised TMP_PackageUtilities.cs which should be a bit faster but more importantly allows targeting specific folders which can make the process much faster as you can skip all the project folders that you know do not contain any TMP related stuff.

    See the Update Notes at the bottom of the first sticky post of this thread for more information about this revised file and to download it.
     
  24. yanivng

    yanivng

    Joined:
    May 21, 2017
    Posts:
    20
    Hi @Stephan_B and @GafferSystems ,

    I have optimized the migration script. Instead of 6 hours for my project, it now does the work within 5 minutes.
    - Using distinct on list of project GUIDs (why scan the same guid twice? this gave a x10 fold speedup)
    - Replaced list (of pending changes) with an array to prevent reallocation of array (memory is not an issue for an editor script)
    - yield return null only once in 100 frames; GUI might be a little bit less responsive, but I don't care as long as I want to job down ASAP (dirty, but quick).

    Enjoy.
    Yaniv
     

    Attached Files:

  25. Laicasaane

    Laicasaane

    Joined:
    Apr 15, 2015
    Posts:
    26
    Hi, I have a world space canvas and need TextMeshProUGUI to be drawn on top of everything. I've tried to set unity_GUIZTestMode and _ZTestMode to CompareFunction.Always but nothing works.

    This is my code:
    Code (CSharp):
    1. var updatedMaterial = new Material(this.text.materialForRendering);
    2. var comparison = CompareFunction.Always;
    3. updatedMaterial.SetInt("unity_GUIZTestMode", (int)comparison); // _ZTestMode
    4. this.text.material = updatedMaterial;
     
  26. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    2,269
    Sorting order on the Canvas is based on scene hierarchy and Sorting Order and Layer on the Canvas itself. Make sure you assign a Camera to your worldspace canvas.

    You should not have to mess with the material itself.
     
  27. sledgeweb

    sledgeweb

    Joined:
    Sep 9, 2016
    Posts:
    17
    I'm having a really hard time getting this to work. I have an older version of TMP installed and everything looks fine. I've tried following the steps above as I understand them...

    In my case, I used the package manager to remove TMP package (because it was there by default - using 2018.2. Everything is working fine. I create a new scene. I use the package manager to install TMP package. I see lots of error messages as expected. Here is where things go wrong.

    First of all, the instructions aren't clear as to when I should delete my old TMP folder. Which is in Assets/TextMesh Pro - the instructions only say "once the folder is deleted", which could be referencing a future step. But, I don't see that. So, I'm assuming the folder is deleted in step 4. Except, I can't delete the folder with Unity open. I get an error saying the folder is in use (I'm in a new scene). So, I closed Unity and deleted the folder and restarted Unity.

    Then I imported the essential resources and examples. I then ran the convert tool, which did find some changes, and saved the modified files.

    I still have a lot of error messages and none of my text works. All of my objects have lost their script references. If I drag a script on, it doesn't retain any of the original values.

    Any ideas what is going wrong?
     
  28. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    2,269
    The old version of TextMesh Pro is what needs to be removed. This is done by deleting the old "TextMesh Pro" folder. Do not remove the new version which is 1.2.4 via the package manager. If you already removed this new version, please re-install it via the package manager. But only do so after you have deleted the old "TextMesh Pro" folder.

    Here are the steps again:
    (1) Backup your project.
    (2) Open Unity 2018.2.
    (3) Close all open scenes.
    (4) Remove the old version of TextMesh Pro by deleting the "TextMesh Pro" folder. Be sure to backup any files or assets you may have saved inside this TextMesh Pro folder. Also review any changes you may have made to the TMP Settings file.
    (5) Make sure version 1.2.4 of TextMesh Pro is installed by checking via the Package Manager. If you did remove it, please re-install it.
    (6) Import the TMP Essential Resources and TMP Examples and Extras via the "Window - TextMesh Pro - ..." menu.
    (7) Convert the project to the new set of GUIDs and FileIDs using the "Project Files GUID Remapping Tool" also found in the "Window - TextMeshPro - ..." menu.

    Note:
    A. Once the old version has been removed, all errors should go away. If errors persists, you may have to restart Unity.
    B. Your scripts, objects, etc. will still have missing referenced until you use the Project Files GUID Remapping Tool.
     
  29. freedom667

    freedom667

    Joined:
    Sep 6, 2015
    Posts:
    342
    how can i write TextMeshPro/TextMeshProUGUI at script in 2018.2.5? I wrote "using TMPro;" but nevetrhless giving error
     
  30. Laicasaane

    Laicasaane

    Joined:
    Apr 15, 2015
    Posts:
    26
    I've already assigned the camera to my worldspace canvas, and that canvas is put under the root of my 3D objects.

    As you can see in this image:
    upload_2018-8-30_23-42-43.png

    Canvas2D is a worldspace canvas and I want it to be drawn on top of everything that is inside either Object3D or Canvas3D. Currently, TextMeshProUGUI doesn't appear on top of anything.
     
  31. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    2,269
    As per the Update Notes item #4 at the bottom of the first post of this thread, you will find information about this potential behavior which is related to the use of Assembly Definitions (which all packages use) and Code Editors like Visual Studio. The solution is to make sure you are using the latest version of Visual Studio 2017 which is now 15.8.2. If you are using some other code editor, also make sure you are using the latest version.

    Let me know if updating your code editor has resolved the issue.
     
  32. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    2,269
    Have you setup / changed the sorting layer and order on that canvas?

    upload_2018-8-30_10-46-52.png

    You can also use the Overlay version of the Distance Field shader(s).
     
    Last edited: Aug 30, 2018
  33. Laicasaane

    Laicasaane

    Joined:
    Apr 15, 2015
    Posts:
    26
    Sorting layer and order didn't work for me, but the Overlay shader did! Thanks!
     
    Stephan_B likes this.
  34. bwheatley

    bwheatley

    Joined:
    Jun 23, 2012
    Posts:
    44
    The importer/converter worked great for me, thanks for the effort.
     
    Stephan_B likes this.
  35. wyznawca

    wyznawca

    Joined:
    Dec 27, 2012
    Posts:
    27
    Hey, is there any way to achieve this kind of glow with text mesh pro texts?
     
  36. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    2,269
    You should be able to achieve something similar. You will need to create a font asset with a larger ratio of sampling to padding in order to increase the effective range of material properties such as glow.

    So instead of using a sampling point size of something like 80 with padding of 8 (10%) ratio, use the same sampling with padding of 12 or 14.

    Note that in order to fit all the glyphs in the same size font atlas, you will likely have to reduce the sampling point size due to the increased padding but just aim for a larger ratio of sampling to padding. Increase to perhaps 15% or 20% and test if the range is large enough to achieve the desired results.
     
  37. sledgeweb

    sledgeweb

    Joined:
    Sep 9, 2016
    Posts:
    17
    Hey Stephan_B, thanks for the help, but I still haven't got this working. I recorded a stream of my attempts, following the steps above. Would you be willing to watch the video and let me know if you have any ideas where I'm going wrong? Everything works fine if I delete the package version of TMP. But any attempts to delete the TMP folder in assets and install the package version I get the same result - a bunch of missing script references.

    Here is the video if you have time to check it out: https://www.twitch.tv/videos/306487116 (recommend clicking the settings cog and playing at 1.5x or faster)

    For this video, I start with Unity 2018.2 with no package version of TMP. First I show that everything is working with the older version of TMP, which is what we started with. Then, I follow your steps and remove the old TMP, install the new version through package manager. It breaks everything, which I demonstrate. Then, I fix it by uninstalling the package version of TMP, and restoring the TMP folder from the recycling bin. I run the game again (at about the 36 minute mark), and the game works again and I can see my TMP assets working in game.
     
    Last edited: Sep 6, 2018
  38. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    2,269
    I watched the video and my first observation is that although you are using Unity 2018.2, it doesn't appear to have the TextMesh Pro UPM package installed which means you might have removed it prior to making this video.

    Although you referenced having removed the previous version of TextMesh Pro from the project, I didn't see that folder being deleted in the Project window. Seems like that was done off screen perhaps. How did you remove the previous version of TextMesh Pro?

    After you imported the package version of TextMesh Pro, the error messages with the exception of two of them remain but those were already present in the project prior to removing the old version and installing the new one.

    You also have lots of warning messages but none of those appear to be related to TextMesh Pro. For instance I see stuff about UnityEngine.ParticleSystem.EmissionModule... is obsolete, etc.

    So there are other issues which appear to be unrelated but I am also unsure if any of those would affect the upgrade of TextMesh Pro anyway so that's just an FYI.

    With regards to TextMesh Pro, it is possible that you had made changes to the TMP Settings file like assigning a new default font asset or perhaps has created font assets of your own which were located inside this TextMesh Pro folder hierarchy and as such once you delete the TextMesh Pro folder, these would suddenly be missing from the project hence why after the upgrade, you end up with incorrect font asset assignment and possibly text that is not visible.

    However, at this stage it might simply be easier for me to get on Skype or whatever with you and guide you through the upgrade process in order to get you back up and running. If you are available to Skype or Google Meet or whatever other screen sharing tool, send me a PM with your information and available time and I'll be more than happy to help you out. I am on the West Coast and usually available from 11:00 AM to 2:00 AM at night.
     
  39. sledgeweb

    sledgeweb

    Joined:
    Sep 9, 2016
    Posts:
    17
    I really appreciate the offer! I'll follow up with a PM. But to answer your immediate questions:

    Yeah, sorry the window recording got messed up in that segment, so you didn't see it. But to delete the previous version of TMP, I went into the Assets folder (in the OS not in Unity) and deleted the folder "TextMesh Pro".

    Some of the errors you mention are fixed in a newer commit of our project, but TMP wasn't working so I reverted back to an earlier commit. Those can be addressed, but right now I'm just trying to get the package version of TMP to work. There may be interference as you suggest, but I haven't been able to resolve it AND get TMP working.

    With regards to TMP, I am pretty certain I didn't set a new default font. You can see in the stream when I revert my changes, it goes back to Liberation font. I do however have my own generated SDFs that we use. These disappear from the project when I install the UPM version of TMP, but reappear after uninstalling it. However, I think it's more than just a missing SDF, because the objects are missing attached scripts. It doesn't have the script intact with the wrong font selected or anything like that. So, it's more than just text not being visible. The objects with TMP scripts no longer have scripts. I just get the "no mono script" attachment notification.

    I'll follow up in a PM and thanks again for the help.
     
  40. doq

    doq

    Joined:
    Aug 17, 2015
    Posts:
    121
    I imported the TMP essentials, but when I click on the selector to add an additonal reference for my assembly definition, I don't see an option to select Unity.TextMeshPro. What am I missing? I'm running 2018.2.5f1 and have TMP 1.3.0 installed. Also running VS 15.8.3.

    Update: Ok I figured it out. I had to select the asmdef for TextMesh Pro from under Packages in the the Project View.
     
    Last edited: Sep 6, 2018
    Stephan_B likes this.
  41. wyznawca

    wyznawca

    Joined:
    Dec 27, 2012
    Posts:
    27

    Thank you, thats doing the job!
     
    Stephan_B likes this.
  42. chrixxxtopher

    chrixxxtopher

    Joined:
    Apr 8, 2018
    Posts:
    6
    Is there a link to how to recreate the Bangers font that came with the original TMPRO? This tool only gave me a blurry liberation font.
     
  43. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    2,269
    The Bangers font asset is included in the TMP Examples & Extras.

    What do you mean by a blurry Liberation Sans? The conversion process only affects GUID and FileID and not any of the texture or font data so this should have no impact on the rendering.
     
  44. ypatelzynga

    ypatelzynga

    Joined:
    Aug 30, 2018
    Posts:
    6
    hi stephan, I have watched handful of your youtube video about TMP. I am using Unity 2018 version which support TMP. i am working on chat system which require native emoji support. I am wondering if you could show me how to include native emoji in TMP would be very helpful. It seems like i need to search through input string and replace native emoji unicode with <sprite> to be displayed in chat window or is there better way?
     
  45. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    2,269
    When you create your sprite assets, you can now assign a Unicode value to those sprites which means they can be access directly as those characters are typed from the keyboard. If you look at the EmojiOne sprite asset included with TMP, you will notice these have been assigned a Unicode value.
     
  46. TJHeuvel-net

    TJHeuvel-net

    Joined:
    Jul 31, 2012
    Posts:
    395
    We've just upgraded, it went great with the GUID remapper tool. Except links in animation clips were not upgraded automatically, so we're doing those manually at the moment. It just showed yellow and missing in the animation tab.
     
  47. ypatelzynga

    ypatelzynga

    Joined:
    Aug 30, 2018
    Posts:
    6
    Thanks for your quick response, I am new to TMP.... How does sprite assets linked with font that I am using to display chat for player? Is there anything that i need to do to include sprite assets in font? I am using LiberationSans SDF font from package
     
  48. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    2,269
    When the Sprite Asset is part of the fallback sequence and provided those sprites have been assigned a Unicode value, they will show up as if they were part of the primary font asset.

    See the following video about the Fallback System as well as this one. These are fairly old and since then you can now assign a fallback per font asset as well as well as to Sprite Assets.

    Additional videos I recommend you watch:

    video about Sprite Asset Creation.

    Then the following video about Font Asset Creation and the important Working with Material Presets.
     
  49. ypatelzynga

    ypatelzynga

    Joined:
    Aug 30, 2018
    Posts:
    6
    Thank you for sharing this video and it is very helpful. You have done excellent job creating these videos.
    1. If I have handful of emoji i would have to manually give each sprite a unicode from sprite list. And during production if i have to work with new sprite sheet i may loose all the work and start this manual process again. Is there any faster or automated way to give each sprite a unicode?
    2. since we are using unicode as identifier for emoji, how can i give multiple unicode to one sprite? Because some of emoji take more then one unicode.
    3. may be we won't need it but just incase how to handle ASCII unicode? would that be another sprite sheet
     
  50. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    2,269
    You can use an external tool like Texture Packer to create your sprite assets. This feature is poorly documented but here is some stuff about it. Basically, the name of the sprites / images will be automatically used as Unicode values.

    All Emojis use Unicode values. That is the standard. See the following list from Unicode.org which includes the Unicode value for each Emoji.

    Emojis the use multiple Unicode is a feature not yet supported which is essentially Ligatures. Emoji modifiers are also not yet supported but on the list of features to add.

    ASCII is a subset of Unicode. As such support for Unicode = full support for ASCII.
     
    technicat likes this.