Unity 2020.1.0f1安装Git本地化插件报错,求解决方案
Unity 2020.1.0f1 安装本地化插件时Addressables报错解决方案
使用Unity 2020.1.0f1从Git安装本地化插件后,插件已加载但出现以下编译错误:
Library\PackageCache\com.unity.addressables@1.20.5\Runtime\AssetReference.cs(924,27): error CS0117: 'AssetDatabase' does not contain a definition for 'SaveAssetIfDirty'
Library\PackageCache\com.unity.addressables@1.20.5\Runtime\AssetReference.cs(924,58): error CS0117: 'AssetDatabase' does not contain a definition for 'GUIDFromAssetPath'
解决方案
- 降级Addressables版本:Addressables 1.20.5用到的
AssetDatabase.SaveAssetIfDirty和AssetDatabase.GUIDFromAssetPath是Unity 2020.2及以上版本才支持的API,2020.1.0f1不兼容。打开项目根目录下的Packages/manifest.json,找到com.unity.addressables条目,将版本号改为1.19.19,保存后Unity会自动重装适配版本。 - 临时修改代码:如果不想降级,可手动修改报错文件:
- 在Unity编辑器中找到
Library/PackageCache/com.unity.addressables@1.20.5/Runtime/AssetReference.cs - 定位到第924行,替换原有代码为:
var assetPath = AssetDatabase.GUIDToAssetPath(path); var asset = AssetDatabase.LoadAssetAtPath<Object>(assetPath); if (EditorUtility.IsDirty(asset)) { EditorUtility.SetDirty(asset); AssetDatabase.SaveAssets(); }
- 在Unity编辑器中找到
- 升级Unity版本:若项目允许,直接升级到Unity 2020.2或更高版本,原生支持这些API,从根源解决兼容性问题。
内容的提问来源于stack exchange,提问作者StandArt Media
相关产品推荐
相关产品推荐

