Unity5.x 中使用了新的资源打包方法,代替4.x 时代的 BuildAssetBundle 方法。但是新的打包方法生成的资源是没有 mainAsset 的,即 assetBundle.mainAsset 返回 null。但是老代码里需要访问 mainAsset 的地方怎么办呢,可以使用如下方法:
public static UnityEngine.Object getMainAsset(AssetBundle assetBundle)
{
return assetBundle.LoadAsset(assetBundle.GetAllAssetNames()[0]);
}
这个方法返回的 Object 就是以前的 mainAsset。
附上解决方案来源链接: http://answers.unity3d.com/questions/951531/no-assetbundlemainasset-with-buildingassetbundles.html