在生成AssetBundle的时候,如果目标平台和当前平台不一致,Unity3D会自动将当前平台转换为目标平台。
如果项目中资源量比较大,这个转换过程是相当漫长的,并且不能够强行中止。
所以最好在BuildPipeline之前进行平台一致性检测,代码如下所示:
public static bool CheckPlatform(UnityEditor.BuildTarget target) { if (EditorUserBuildSettings.activeBuildTarget != target) { EditorUtility.DisplayDialog("目标平台与当前平台不一致,请先进行平台转换", "当前平台:" + EditorUserBuildSettings.activeBuildTarget + " 目标平台:" + target, "OK"); return false; } return true; }