BuildAssetBundleOptions.DisableWriteTypeTree

Description

Excludes type information from the AssetBundle.

This flag is beneficial for AssetBundles included in the player build and rebuilt in each release. It reduces file size and improves loading speed.

However using this flag in BuildPipeline.BuildAssetBundles makes an AssetBundle vulnerable to script or Unity version changes. An AssetBundle without Type Trees can only be loaded by the exact version of Unity that created the AssetBundle. And any changes to the serialization layout of any C# classes in the project, or included packages, can also make the AssetBundle unloadable. For example, adding a new field to a MonoBehaviour will make it impossible to load existing AssetBundles that contain that MonoBehaviour.

This flag only affects AssetBundles for platforms where type information is included by default. For Web platforms, type information is mandatory, and Unity will refuse to build an AssetBundle with this flag when targeting such platforms, like BuildTarget.WebPlayer.

AssetBundles without type trees cannot be loaded in the Editor.


Did you find this page useful? Please give it a rating: