“AssetBundle” can refer to two different, but related things.įirst is the actual file on disk.
This means that you can introduce new items to your game in an AssetBundle as long as those items do not require any changes to your class definitions. When you load a serialized object in an AssetBundle, Unity finds the matching class definition, creates an instance of it, and sets that instance’s fields using the serialized values. However, the class definition itself is compiled into one of the Project assemblies. Note: An AssetBundle can contain the serialized data of an instance of a code object, such as a ScriptableObject. For efficient delivery over networks, you can compress AssetBundles with a choice of built-in algorithms depending on use case requirements (LZMA and LZ4).ĪssetBundles can be useful for downloadable content (DLC), reducing initial install size, loading assets optimized for the end-user’s platform, and reduce runtime memory pressure. AssetBundles can express dependencies between each other for example, a Material in one AssetBundle can reference a Texture in another AssetBundle. An AssetBundle is an archive file that contains platform-specific non-code Assets (such as Models, Textures, Prefabs, Audio clips, and even entire Scenes) that Unity can load at run time.