void InitConfig() { _config = LoadAssetAtPath <AssetBundleBuildConfig>(savePath); if (_config == null) { _config = CreateInstance <AssetBundleBuildConfig>(); } }
static void BuildAssetBundles() { AssetBundleBuildConfig config = LoadAssetAtPath <AssetBundleBuildConfig>(savePath); if (config == null) { return; } #if UNITY_5 || UNITY_2017_1_OR_NEWER ABBuilder builder = new AssetBundleBuilder5x(); #else ABBuilder builder = new AssetBundleBuilder4x(new AssetBundlePathResolver()); #endif builder.SetDataWriter(config.depInfoFileFormat == AssetBundleBuildConfig.Format.Text ? new AssetBundleDataWriter() : new AssetBundleDataBinaryWriter()); builder.Begin(); BuildAssetBundleOptions opt = BuildAssetBundleOptions.None; if (config.m_Compression == AssetBundleBuildConfig.CompressOptions.Uncompressed) { opt |= BuildAssetBundleOptions.UncompressedAssetBundle; } else if (config.m_Compression == AssetBundleBuildConfig.CompressOptions.ChunkBasedCompression) { opt |= BuildAssetBundleOptions.ChunkBasedCompression; } builder.option = opt; for (int i = 0; i < config.filters.Count; i++) { AssetBundleFilter f = config.filters[i]; if (f.valid) { builder.AddRootTargets(new DirectoryInfo(f.path), new string[] { f.filter }); } } builder.Export(); builder.End(); }