An assembly with the same name `TextMeshPro' has already been imported.

I updated my Unity 5.5.2 project with TextMesh Pro (Version: 1.0.55.0b7 now by Unity) to Unity 5.6.0 b11 and get the following error:

error CS1704: An assembly with the same name `TextMeshPro' has already been imported. Consider removing one of the references or sign the assembly
Assets/TextMesh Pro/Plugins/TextMeshPro.dll (Location of the symbol related to previous error)
Assets/TextMesh Pro/Plugins/Runtime-Only DLL/TextMeshPro.dll (Location of the symbol related to previous error)

Compilation failed: 1 error(s), 0 warnings

Seeing the same warning with:
- Unity: 5.6.0f1 (=only slightly newer than 5.6.0b11)
- Text Mesh Pro: Version: 1.0.55.0b7 (Mar 06, 2017)

Yes, I have the same problem. Was fine on 5.5 but importing TextMeshPro into 5.6 beta causes same error. I tested opening the project again in 5.5 and importing TextMeshPro again and it was working fine.

Anyone figured out a fix? Deleting the DLL didnt work, heh.

There is an issue with DLL handling in Unity 5.6 which goes back to beta 5 or so. This issue is expected to be resolved in the next release of Unity 5.6.

Once this is addressed, I'll release an updated version of TMP for Unity 5.6.


Im seeing this error on the latest stable release of unity. (5.5.2f1)

Also getting the error on latest patch release (5.5.2p3)

I am starting to think that theres something wrong with the latest asset on asset store and not the unity version? Do I need to purchase the asset now to get the source code to circumvent this error?

I'm wonder whether the Text UI components in existing project would be automatically converted to TextMeshPro in the future?

Okay I fixed the import message by changing the dll settings on the TextMeshPro.dll to
3001599--223779--upload_2017-3-21_10-10-24.png

(it was set to Any Platform, which for some reason includes Editor, but theres already one for the editor which is why the error pops up)

9 Likes

This error is most certainly a result of the DLL process where different DLL's are needed for each version of Unity.

So if a user starts with Unity 5.3 and grabs TextMesh Pro from the Asset Store, everything should be fine. But if they upgrade to Unity 5.4, they will also need to remember to update their version of TextMesh Pro from the Asset Store to get the version with the dlls created for Unity 5.4. And so on for other versions of Unity.

This process is more complicated for me as I have to produce these different dll and packages and more complicated for the user as well.

When TextMesh Pro gets included with the Unity installer as a package or as dll along with other Unity dlls, then migrating from version to version of Unity should be fine. Please keep in mind, this included version will not be the Integrated version which is essentially a full re-write to take full advantage of the closer integration to make TMP even better and more powerful.

So circling back, it is a lot more convenient to work with the source code version as users don't have to worry about the dll stuff and easier for me in terms of delivery and support given I can provide code changes for simple fixes. Although I wish everyone had the source code version from a support point of view, out of respect for users who have purchased TextMesh Pro, I don't feel it is right to give the source code version to all for free. Now if the vast majority of users who paid for it, felt it was fine then we could make different plans.

Skjalg I didnt fully get how you got around the issue? When importing you just unticked editor for the platform plugins on the DLL? My issue is arising specifically for an android build.

Stephen_B, thanks for this response, but rather than release the source code could you just suggest a go around? My issue was not because of an upgrade, ive installed textmeshpro into a 5.6b project and not upgraded.

As I have stated previously, there is an issue in Unity 5.6 related to dll handling and as such we have to wait until the next release of Unity 5.6 where this issue should be resolved. Once this has been addressed, I can then create a new release of TMP for Unity 5.6.

Stephen_B, the workaround from SKjalg seems to work just fine?

1 Like


This worked perfectly for me aswell!

There are other gremlins in there still but a proper Unity 5.6 release will be available soon. If everything appears to be working fine, just keep working away and make sure you update to the next release when it becomes available.

I'll post here to let everyone know when it is available.

Just installed the 5.6f3 final and the error happened to me. I had TMP already as a plugin, but Unity supposedly now comes with TMP embedded? Could it be a conflict?

I also just upgraded to 5.6f3, and getting same error. The project (in 5.5.1) had a recent TextMeshPro download from the asset store. Today, in 5.6, I then deleted the TextMesh Pro asset which I had downloaded, and I get massive list of compile errors. When I click on a something in the Hierarchy that was created with TextMesh Pro, I get lots of NullReferenceException for what looks like editor scripts for the inspector (I'm just learning that, so I recognize some: UnityEngine.GUILayoutUtility.DoGetRect....). The inspector is not looking like the TextMesh Pro - it's missing all the options. Will keep trying different things.

Update:
Just tried the fix to the dll (Skjalg screen print above) - I needed to uncheck both "Any Platform" AND "Editor" - works now!

1 Like


Try the fix shown in screen print - by Skjalg - works! Don't forget to uncheck both Any Platform and Editor

The new version of TextMesh Pro which is 1.0.55.0b8 hasn't made it thru the Asset Store review process. It should become available today but look for this specific release and also make sure you update with the correct version of Unity. So if you are using 5.6, get the new release from within Unity 5.6.

Update
Release 1.0.55.0b8 is now available on the Asset Store. Please be sure to review the Release notes & Upgrade notes.