static void BuildAssetBundles() { AssetBundleBuildConfig config = LoadAssetAtPath <AssetBundleBuildConfig>(savePath); if (config == null) { return; } #if UNITY_5 || UNITY_5_6_OR_NEWER ABBuilder builder = new AssetBundleBuilder5x(new AssetBundlePathResolver()); #else ABBuilder builder = new AssetBundleBuilder4x(new AssetBundlePathResolver()); #endif builder.SetDataWriter(config.depInfoFileFormat == AssetBundleBuildConfig.Format.Text ? new AssetBundleDataWriter() : new AssetBundleDataBinaryWriter()); builder.Begin(); 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(); }
static void BuildAssetBundles() { if (EditorApplication.isPlayingOrWillChangePlaymode) { Debug.LogError("Exit play mode before build AssetBundle!"); return; } AssetBundleManager.Log("building... cur Time " + Time.realtimeSinceStartup); AssetBundleBuildConfig config = LoadAssetAtPath <AssetBundleBuildConfig>(savePath); if (config == null) { return; } ABBuilder builder = new AssetBundleBuilder5x(new AssetBundlePathResolver()); builder.SetDataWriter(config.depInfoFileFormat == AssetBundleBuildConfig.Format.Text ? new AssetBundleDataWriter() : new AssetBundleDataBinaryWriter()); builder.Begin(); for (int i = 0; i < config.filters.Count; i++) { AssetBundleFilter f = config.filters[i]; if (f.valid) { builder.AddRootTargets(new DirectoryInfo(f.path), f.packMode, f.filter); } } AssetBundleManager.Log("building... cur Time " + Time.realtimeSinceStartup); builder.Export(); AssetBundleManager.Log("building... cur Time " + Time.realtimeSinceStartup); builder.End(); AssetBundleManager.Log("building... cur Time " + Time.realtimeSinceStartup); }