Search Unity

TextMesh Pro Text Mesh Pro Dozens of errors with Unity 2019.1

Discussion in 'Unity UI (uGUI) & TextMesh Pro' started by MikeUpchat, Apr 16, 2019.

  1. MikeUpchat

    MikeUpchat

    Joined:
    Sep 24, 2010
    Posts:
    847
    Just testing my project in 2019.1 but I am getting dozens of errors with Text Mesh pro, I checked the Package Manager and it says Text Mesh is up to date and works with 2019.1 so why am I getting pages of errors in the console? And how do I fix it?
    errors.jpg
     
    grobonom, torsigurdson and Meltdown like this.
  2. MikeUpchat

    MikeUpchat

    Joined:
    Sep 24, 2010
    Posts:
    847
    This also happens with an empty project, get loads of Text mesh Pro errors and also 'Failed to load extension manager' what ever that means.
     
  3. Checko

    Checko

    Joined:
    Oct 23, 2013
    Posts:
    16
    I am getting the same issue. The TMPro namespace isnt even recognized in my project now. No text mesh pro window available in the editor either.
     
  4. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,177
    Since UGUI is moving to a package, TMP now has a dependency on this package. Now for some reason, this dependency is not getting resolved correctly.

    I am installing 2019.1 right now to look into this. Will post as soon as I have additional information.
     
  5. MrSkiz

    MrSkiz

    Joined:
    Jul 4, 2012
    Posts:
    4
    Thanks Stephan. Good luck.
     
  6. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,177
    I am not able to reproduce the reported behavior.

    I created a new project in 2018.3 using TMP 1.4.0 and imported the TMP Essential Resources. Then opened this project in 2019.1.0f2 and didn't get any errors.

    Please close Unity and delete the package cache to see if these errors will persist. Maybe something went wrong when the package for version 2.0.0 was initially downloaded. The package cache is located at "AppData\Local\Unity Cache\cache".

    Edit
    Packages are now also cached in the local project in the Library folder in "Library/PackageCache/..." Please delete the versions of TMP in there as well.
     
    Last edited: Apr 16, 2019
  7. MikeUpchat

    MikeUpchat

    Joined:
    Sep 24, 2010
    Posts:
    847
    Deleted cache files, and no change. If I create a new empty project I get the same errors, loads of TMPro errors and I get the failed to load extension manager spamming the console.
     
  8. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,177
    Can you submit a bug report with that new project that is giving you all these errors?

    Please provide me the case # once you have it.
     
  9. afonseca

    afonseca

    Joined:
    Feb 28, 2012
    Posts:
    73
    I'm having the same issue loading a project created in 2018.3.10 where TMP throws the same errors in the console. Removing the package resolves it as I'm not actually using it. However, even after clearing the package cache if I try to bring TMP back in via the package manager, it will throw the same errors.
     
  10. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,177
    Did you also delete the TMP package from the local project cache in the Library folder?
     
  11. afonseca

    afonseca

    Joined:
    Feb 28, 2012
    Posts:
    73
    Yes, after deleting package cache from both locations and reloading the project, errors appear while TMP package is installed.
     
  12. MikeUpchat

    MikeUpchat

    Joined:
    Sep 24, 2010
    Posts:
    847
    Sounds like there is an issue with this, we shouldn't have be deleting files from numerous cache folders to get Unity to work? That's five people who have posted the same issue here and I know two more who haven't, that's quite a lot.
     
  13. TabuuForteAkugun

    TabuuForteAkugun

    Joined:
    Sep 28, 2015
    Posts:
    29
    I'm getting *66* of those errors in my project. So you aren't alone
     
    alainazi03, johnsmithdev and grobonom like this.
  14. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,177
    It is clear there is an issue but I need to be able to reproduce it in order to figure out why it is happening.

    I need someone to submit a bug report along with the project or provide me with a repro project to allow me to reproduce this.

    Another potential reason for the issue might be related to the TMP package now using .Net 4.x so maybe if the project is still using .Net 3.5, it confuses the compilation of assemblies.
     
  15. Checko

    Checko

    Joined:
    Oct 23, 2013
    Posts:
    16
    I too have tried deleting the package cache from both locations but am still getting compiler errors.

    this is a sample
    .../Library/PackageCache/com.unity.textmeshpro@2.0.0/Scripts/Runtime/FastAction.cs(24,45): error CS1644: Feature `out variable declaration' cannot be used because it is not part of the C# 4.0 language specification

    I am also getting a similar error with the render pipeline package. Not sure of the correlation, if any. seems to be a prob with the package manager maybe?! Not sure. This is out of my wheelhouse.

    *RESOLVED* - I changed the Scripting Runtime Version to use .NET 4.x (it was using 3.5).
    Edit > Project Settings > Player > Other Settings > Scripting Runtime Version dropdown
     
    Last edited: Apr 16, 2019
  16. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,177
    This is due to the new version of TextMesh Pro using .Net 4.x since .Net 3.5 was deprecated in 2018.3.

    upload_2019-4-16_13-47-12.png

    I am backing out the .Net 4.x requirements for version 1.4.x of TMP but keeping those moving forward for Unity 2019.1.
     
  17. TabuuForteAkugun

    TabuuForteAkugun

    Joined:
    Sep 28, 2015
    Posts:
    29
    Thanks for the "delete Package Cache" suggestion. It worked for me :)
     
  18. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,177
    The 66 errors are related to the need to switch the project to use .Net 4.x as per my previous post as .Net 3.5 was deprecated in Unity 2018.3.
     
  19. afonseca

    afonseca

    Joined:
    Feb 28, 2012
    Posts:
    73
    I think you've got it, the project I brought along from prior versions of Unity was still set to .NET 3.5. Changing it to 4.0 gets rid of the errors.
     
  20. afonseca

    afonseca

    Joined:
    Feb 28, 2012
    Posts:
    73
    @Stephan_B Might I suggest adding some console warnings if the project is set to .NET 3.5? This might give people a clue to go look at their project settings as it's likely to cause issues going forward.
     
    Akeronz likes this.
  21. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,177
    Since the TMP scripts are not compiling correctly, I can't throw an warning (unfortunately). I have to check if there is anything inside of Unity that I can use to provide such warning.

    In terms of the .Net 4.x requirement, If the project is set to .Net 3.5, you would normally see errors like these "error CS1644: Feature `out variable declaration' cannot be used because it is not part of the C# 4.0 language specification" which are specific to the .Net 4.x requirement.

    However, in the case of the initial post and errors, they point to the dependency to the UGUI package. It is possible the initial set of errors are misleading / resulting from the .Net 4.x requirement but somehow messing up assembly compilation.
     
  22. afonseca

    afonseca

    Joined:
    Feb 28, 2012
    Posts:
    73
    I'm not sure if it's specific to TMP but it seems a higher level warning would be helpful if built-in packages require .NET 4.x and Unity is able to detect the user has their project configured to 3.5. Just thinking of ways Unity could proactively prevent the head scratching and forum searching likely to happen with this change.
     
    Akeronz likes this.
  23. MikeUpchat

    MikeUpchat

    Joined:
    Sep 24, 2010
    Posts:
    847
    My player settings were and are on 4.0 and still no luck. 2019 just seems totally broken on my system, errors for most packages, the error 'failed to load extension manager' spamming the console so much its making the editor unusable.
     
  24. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,177
    I certainly agree with that.

    I'll talk to the Package Manager team about this.
     
    gstarch, Akeronz and afonseca like this.
  25. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,177
    Please submit a bug report with the project so I can look at it. Right now I am unable to reproduce the errors / circumstances that are leading to the errors you displayed in your first post.

    If you are still getting the behavior in a new project, just submit the bug report using that new project.

    As soon as you notify me of the Case #, I'll grab the project and look at it.
     
  26. MikeUpchat

    MikeUpchat

    Joined:
    Sep 24, 2010
    Posts:
    847
    There is no project, I start Unity with a empty new project and I get the errors.
     
  27. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,177
    I understand that.

    Just submit a bug report using this new empty project via the Report a Bug menu item. Then once you get the Case #, post it here so I can go retrieve the bug report and project with the errors to look at.

    upload_2019-4-16_14-19-38.png
     
  28. tigme

    tigme

    Joined:
    Jul 1, 2014
    Posts:
    6
    I Had a problem with in Unity 2019.1.0f2 with the Bolt Plugin. I used to following steps to get it running again:

    ERROR
    Library\PackageCache\com.unity.textmeshpro@2.0.0\Scripts\Editor\TMP_PackageUtilities.cs(310,17): error CS0433: The type 'Task' exists in both 'System.Threading, Version=1.0.2856.102, Culture=neutral, PublicKeyToken=31bf3856ad364e35' and 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'

    FIX
    1. Go to Window->Package Manager
    2. TextMesh Pro (Version 2.0.0 will be installed)
    3. Click on the arrow > on the left to see all the available versions.
    4. Update TextMesh Pro to 1.3.0 (same version as in Unity 2018.3.12f1)

    *** Let the compiler finish and you should see the error clearing from the console ***

     
  29. durukanozanalp

    durukanozanalp

    Joined:
    Jan 4, 2019
    Posts:
    10
    Hi unity lovers ^^ do as @Checko says. Couple of clicks and it is all set.

    Thanks man!
     
  30. Akeronz

    Akeronz

    Joined:
    Aug 3, 2013
    Posts:
    7
    Worked like a charm for me! (66 errors) Thanks @Cheko & @Stephen_B
     
  31. Akeronz

    Akeronz

    Joined:
    Aug 3, 2013
    Posts:
    7
    Agree @afonseca !! Could have saved me time!
     
  32. Meltdown

    Meltdown

    Joined:
    Oct 13, 2010
    Posts:
    5,420
    I got this too, clearing the Library Package cache in project folder did it for me, definately .NET 3.5/4 related.
     
  33. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,177
    Ideally, this is something that should be handled by the Package Manager in terms of providing the user with some type of warning stating something like "Upgrading this package will require updating the .Net Scripting Runtime to version 4.x".

    I did make the suggestion to the package manager team. I also made a sticky post about this in the forum.
     
    FreeBirdWasACake and afonseca like this.
  34. Meltdown

    Meltdown

    Joined:
    Oct 13, 2010
    Posts:
    5,420
    I'm amazed how nobody picked this up in the beta.

    Every time I open up 2019 I need to remove the textmeshpro package cache, and the postprocessing package cache from the Library folder.
     
  35. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,177
    I would venture to guess that most Beta users tend to live on the bleeding edge and would have had their project set to .Net 4.x to access the newer C# functionality. Hence why this never got flagged.

    That should not be the case. Once your project has been switched to .Net 4.x everything should work fine. What errors do you get if you don't delete the cache in the library folder?

    I would suggest updating the 2.0.1-preview.1 of TMP and see if that makes any difference.

    I did update the description on the TMP package to provide information about this new .Net 4.x requirement but unfortunately, this note would only show up after the package has been updated which isn't ideal but might still be useful.
     
    Last edited: Apr 23, 2019
  36. gepatto

    gepatto

    Joined:
    Nov 3, 2009
    Posts:
    1
    I was having the same problem, I was using the project from the "John Lemon's" tutorial with 2019.1.0f2 . Not only did I have the errors mentioned above but the package manager menu item was not showing at all. To get things working permanently I had to:
    • switch to .net 4
    • delete Package Cache
    • delete the manifest.json file -> This could (or should?) problably just have been updated
    • restart unity
     
  37. nixedd

    nixedd

    Joined:
    Jan 3, 2017
    Posts:
    10
    i have the same problem here... :-(
     
  38. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,177
    What errors are you getting in the console?

    I would also recommend using version 1.4.1-preview.1 for Unity 2018.3 and version 2.0.1-preview.1 for Unity 2019.1
     
  39. oliver_Random42

    oliver_Random42

    Joined:
    Oct 13, 2016
    Posts:
    10
    Setting API Compatibility level to .NET4.x fixed the issue for me
     
    robert-sherwood likes this.
  40. robert-sherwood

    robert-sherwood

    Joined:
    Jan 7, 2018
    Posts:
    12
    For future people with this problem, this fixed it for me!
     
  41. hollysephiroth

    hollysephiroth

    Joined:
    Mar 25, 2014
    Posts:
    18
    Does not help with my problem , I have empty project , I have Net 4 set I deleted cache many times ,
    still
    Copying assembly from 'Temp/Unity.Timeline.dll' to 'Library/ScriptAssemblies/Unity.Timeline.dll' failed

    and there is no package menager in Windows
     
  42. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,177
    I would suggest making a backup of the project (most important step). Close Unity of course.

    Then delete the global package cache. Next delete the Library and Temp folders the local project as well as all Visual Studio project solution files. Deleting all of these will force a re-import of everything including the packages and rebuilding of assemblies and project solution.

    The above are the steps I usually take when resetting projects for testing.
     
    FreeBirdWasACake likes this.
  43. hollysephiroth

    hollysephiroth

    Joined:
    Mar 25, 2014
    Posts:
    18
    Yes I did everything , hell Im creating new project in unity 2019 so there is no need to backup anything .

    Still dosnt work

    Im also getting
    Copying assembly from 'Temp/Unity.Analytics.DataPrivacy.dll' to 'Library/ScriptAssemblies/Unity.Analytics.DataPrivacy.dll' failed
    and

    Copying assembly from 'Temp/Unity.Timeline.dll' to 'Library/ScriptAssemblies/Unity.Timeline.dll' failed
     
    Last edited: May 2, 2019
  44. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,177
    The above errors are not TMP related.

    Since it is a new project, can you please submit a bug report with the included project giving you those errors and I'll take a look at it. Please be sure to provide me with the Case # once you have it.
     
  45. hollysephiroth

    hollysephiroth

    Joined:
    Mar 25, 2014
    Posts:
    18
    Problem was resolved, it seems I had some bitcoinmainer troians on the computer , run malwarebytes, destroyed them and fiexed the problem
     
  46. GaryElder

    GaryElder

    Joined:
    Jun 7, 2018
    Posts:
    2
    Library/PackageCache/com.unity.textmeshpro@2.0.0/Scripts/Editor/TMP_PackageUtilities.cs(310,17): error CS0433: The type 'Task' exists in both 'System.Threading, Version=1.0.2856.102, Culture=neutral, PublicKeyToken=31bf3856ad364e35' and 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'

    I am getting a similar issue if I have Bolt installed. I am running on a Mac without Bolt there doesn't seem to be an issue - with it the error shows up and keeps Bolt from generating its Unit database. I can fix it by either removing Bolt or by removing TextMesh Pro. Brand new install, brand new project, data cache is emptied.
     
  47. GaryElder

    GaryElder

    Joined:
    Jun 7, 2018
    Posts:
    2
    Library/PackageCache/com.unity.render-pipelines.core@5.7.2/Runtime/Volume/VolumeManager.cs(13,25): error CS0433: The type 'Lazy<T>' exists in both 'System.Threading, Version=1.0.2856.102, Culture=neutral, PublicKeyToken=31bf3856ad364e35' and 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'

    Looks like I get a similar issue with Shader Graph installed. Any ideas?
     
  48. SoftwareGeezers

    SoftwareGeezers

    Joined:
    Jun 22, 2013
    Posts:
    505
    Just updated a project from 2017 to 2019, using 2019 for the first time. It's a tiny little prototype project. I get the same 66 Textmesh Pro warnings. I'm not even using Textmesh Pro and haven't got it installed. I've never even downloaded or used Textmesh Pro ever!

    Changing to .Net 4 solved the errors.
     
  49. Stephan_B

    Stephan_B

    Unity Technologies

    Joined:
    Feb 26, 2017
    Posts:
    3,177
    TextMesh Pro is included by default in Unity 2019.1 which is why you are getting these errors.

    I did revert the .Net 4.x requirements in version 1.4.1-preview.1 of TMP for Unity 2018.3 but since .Net 3.5 was deprecated in 2018.3 which will require all projects eventually use .Net 4.x, I kept these requirements for version 2.0.0 or newer for Unity 2019.1.

    Since I have been running .Net 4.x since it first became available in Unity which is a while ago now, I overlooked the fact that some users might still be running on the old .Net 3.5. That is my bad :oops:

    This is compounded by the fact, there is no warning or mechanism (yet) in Unity to handle this.

    Since other packages are also likely (at some point) to require users upgrade to .Net 4.x, this is something the package manager team is looking into to provide the appropriate warning / information about this.
     
    Last edited: May 5, 2019
    SoftwareGeezers likes this.
  50. davidruizBambo

    davidruizBambo

    Joined:
    Sep 22, 2017
    Posts:
    1
    I just upgraded a project from 2017.3 to 2019.1 that was using TMPro in every scene.

    These were my steps:

    1. Upgrade to 2019 first and get all the errors.
    2. Change scripting runtime version to .NET 4.x
    3. Close Unity Editor
    4. Delete global package cache data in "/Users/username/AppData/Local/Unity/cache
    5. Delete local project's PackageCache folder
    6. Delete old TMPro Aseet in Assets/TextMeshPro
    7. Open Unity and your project again and you'll see very TextMeshPro asset missing from your scenes.
    8. Panic
    9. Go to Window->TextMeshPro->Import TMP Essential Resources
    10. Go to Window->TextMeshPro->Project Files GUID Remapping Tool
    11. Scan and Save
    12. Rejoice when you see all your texts appear on the screen again.