一、问题描述:
在unity assetStore中把TextMeshPro插件导入工程后,在层次面板中创建一个TextMeshProUGUI的文本物体,会立即提示以下错误:
TypeLoadException: Could not load type 'UnityEngine.AdditionalCanvasShaderChannels' from assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
TMPro.TextMeshProUGUI.OnPreRenderCanvas ()
TMPro.TextMeshProUGUI.Rebuild (CanvasUpdate update)
UnityEngine.UI.CanvasUpdateRegistry.PerformUpdate () (at /Users/builduser/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/CanvasUpdateRegistry.cs:149)
UnityEngine.Canvas:SendWillRenderCanvases()
在对文本组件做出任何改变时都会出现这个错误。
二、问题产生时的环境:
使用的是unity5.5.3,而登录unity AssetStore时用的是unity5.6,下载插件的时候也是unity5.6。
三、问题产生的原因:
根本原因是AssetStore与TextMeshPro某些特殊性共同导致的问题。unity5.6需要正确设置某些顶点属性,而unity5.5不需要。
四、解决问题的方法:
1、删除AssetStore已经下载的插件,位置是:
Windows: C:\Users\accountName\AppData\Roaming\Unity\AssetStore\....
Mac : "~/Library/Unity/Asset Store/..."
2、在unity5.5中退出AssetStore,然后再登录。
3、重新下载该插件,导入即可解决问题。
五、参考链接