Having another issue relating to these two assets together, want to see if anyone else has encountered it/reproduced it:
I have started a new project for prototyping where I’m using the latest versions of TextMesh Pro and I2 Localization from the Asset Store. Whenever I attach a ‘Localize’ component to a TextMesh Pro object, I get these two warnings during play mode: "
No script asset for LocalizeTarget_TextMeshPro_UGUI. Check that the definition is in a file of the same name." and "
The referenced script on this Behaviour (Game Object ‘’) is missing!". The more TextMesh Pro objects I have with a Localize component on them, the more of these warnings I get each play.
This occurs only with TextMesh Pro. Using the regular Unity Text object with a Localize component does not produce the warning. Also, my older projects that use the latest I2 Localization asset but an older version of TextMesh Pro do NOT produce this warning.
For reproducing the issue, note that I am using: Unity 2017.3.1f1 on Windows 10 with I2 Localization version 2.8.4 f1 and TextMesh Pro version 1.0.56.0b3 (at least according to the Asset Store).
Edit: Also note that in my older projects that don’t have this issue, TextMesh Pro Editor DLL version is: TextMeshPro-2017.2-1.0.56-Editor. For the projects having this issue, TextMesh Pro Editor DLL version is: TextMeshPro-2017.3-1.0.56-Editor.
For anyone else experiencing this: this was indeed a bug with the latest Asset Store version of I2 Localization. If you have your invoice number available, contact inter.illusion@gmail.com and he’ll give you access to the latest beta version which has a fix for it. Using it now and all seems to be in order. If you’re uneasy about beta versions, I believe the developer has said a stable version will likely hit the Asset Store this month (April). Cheers!
I did for another issue I have before 7 days, but unfortunately I haven’t received any answer so far, to follow up with a new question. I hope he is working on it.
Unity: 2017.4.6.f1
I2 Localization: 2.8.7 f1
Platform: UWP
Component TextMeshPro UGUI / field Text Input Box was not determined by Localize component.
In Target field of Localize component wroten Prefab, and text doesn’t change on changing the language.
In the Android platform, it works correctly.
Just an FYI for anyone else finding this thread. I contacted the author and was told this:
I have seen that error, when there are left over files from the installation. Most of the time when upgrading I2 Localization from a very old version to a latest.
The solution is to do a clean install.
Delete the I2\Localization folder
Install the plugin again
That removes left over files and you shoudn’t get the error.
Also, all your localization data is in the I2Languages.asset, so deleting the I2 folder will not make you loose any data.
Hope that helps, and please let me know if the problem persists.
Switching to TextMeshPro 1.4.1 via PackageManager with Unity 2018.4 solved the problem for me (for now). With TMPro 1.3.0 I had some weird behaviour going on with TextMeshProUGUIs being dirtied constantly in a Prefab. Maybe that is related to this problem. I use other Plugins (e.g. Doozy UI) as well, so I cannot tell for sure where the source of the problem is.
Did you tried the solution described above?
When “No script asset for LocalizeTarget_TextMeshPro_UGUI” it means that the script that handles the connection between TMPro and I2 Localization is either not compiled correctly or its name doesn’t match the cs file.
Normally, this happens when users are using an older version of I2 Localization and then update the latest one. At some point some of the plugin files were renamed and if you just update the latest, those files could be conflicting with the new ones.
Solution: do a clean install of I2 Localization as described above.
Another thing that can make this to happen is if I2 Localization was moved to the plugins folder or added assembly definition files to compile it into a separate dll.
Said that, in every case I have seen this error, it has been because of updating from an old version and not doing a clean re-install.
Well, that script controlls the TMPro and I2 Localization, so, if you are using TMPro, then it wont be localized. But if you are just using unity Text, then it should work fine.
If the prefab was saved in the old version, it may still reference to the old script file.
I2 Localization will automatically detect and correct that problem. But after it fixes it, the prefab needs to be resaved, so that the error doesn’t show any more.
Just open the prefab, verify that the Localize target is matching your target (e.g. TMPro, Unity Text, etc), then save the prefab.
I’ve just hit this problem, Unity 2018.4.4f1, TMPro 1.4.1. Totally fresh install of I2… Any ideas @Inter-Illusion ?
Edit: I deleted the i2 folder and reinstalled and the problem has resolved. However it was absolutely a totally clean import, so something definitely didn’t work the first time around!
Same here with Unity 2019.2.2f5. Just imported I2, set everything up according to the tutorial. However, I’ve created a asmdef, since I’m using that in my project. Now I get
“No script asset for LocalizeTarget_TextMeshPro_UGUI. Check that the definition is in a file of the same name.”
as well. Would be nice, if @Inter-Illusion could check that.
Thanks for the info, everyone. I had the same trouble, and was able to solve it just by re-importing I2, rather than doing a full clean install. This fix may not work for everyone, but it could save a bit of pain for some people if they try it first!
If issue occur because of adding custom asmdef for the I2 plugin, you just need to add the reference to TextMeshPro in the newly created assembly definition.
Finally I think the developer of the I2 plugin should add an option to allow create custom asmdef for the plugin, just like the option in DOTween plugin.