Ignore the type tree changes when doing the incremental build check.
This allows you to ignore the type tree changes when doing the incremental build check. With this flag set, if the included assets haven't change but type trees have changed, the target assetBundle will not be rebuilt.
//Create a folder (right click in the Assets folder and go to Create>Folder), and name it "Editor" if it doesn't already exist //Place this script in the Editor folder
//This script creates a new Menu named "Build Asset" and new options for different Build Asset Bundle Options. Click these menu items to build an AssetBundle.
using UnityEngine; using UnityEditor;
namespace BuildDocExamples { public class BuildAssetBundleOptions_Examples { //Creates a new menu (Build Asset Bundles) and item (Normal) in the Editor [MenuItem("BuildDocExamples/Build Asset Bundles/Normal")] static void BuildABsNone() { //Build AssetBundles with no special options //They will be written in the custom folder ("MyAssetBuilds") which needs to exist prior to this call. BuildPipeline.BuildAssetBundles("Assets/MyAssetBuilds", BuildAssetBundleOptions.None, BuildTarget.StandaloneOSX); }
//Creates a new item (Append Hash) in the new Build Asset Bundles menu [MenuItem("BuildDocExamples/Build Asset Bundles/Append Hash")] static void BuildABsAppend() { //Build the AssetBundles in this mode BuildPipeline.BuildAssetBundles("Assets/MyAssetBuilds", BuildAssetBundleOptions.AppendHashToAssetBundleName, BuildTarget.StandaloneOSX); }
//Creates a new item (Strict Mode) in the new Build Asset Bundles menu [MenuItem("BuildDocExamples/Build Asset Bundles/Strict Mode")] static void BuildABsStrict() { //Build the AssetBundles in strict mode (build fails if any errors are detected) BuildPipeline.BuildAssetBundles("Assets/MyAssetBuilds", BuildAssetBundleOptions.StrictMode, BuildTarget.StandaloneOSX); }
//Creates a new item (Ignore Type Tree Changes) in the new Build Asset Bundles menu [MenuItem("BuildDocExamples/Build Asset Bundles/Ignore Type Tree Changes")] static void BuildABsIgnoreTypeTreeChanges() { //Build the AssetBundles in ignore type tree changes build mode BuildPipeline.BuildAssetBundles("Assets/MyAssetBuilds", BuildAssetBundleOptions.IgnoreTypeTreeChanges, BuildTarget.StandaloneOSX); }
//Creates a new item (Dry Run Build) in the new Build Asset Bundles menu [MenuItem("BuildDocExamples/Build Asset Bundles/Dry Run Build")] static void BuildABsDry() { //Build the AssetBundles in dry run build mode BuildPipeline.BuildAssetBundles("Assets/MyAssetBuilds", BuildAssetBundleOptions.DryRunBuild, BuildTarget.StandaloneOSX); } } }