Unity AssetBundle 分割与合并
介绍 Unity AssetBundle 中的资源非常容易被提取,如果想要阻止简单的提取行为,可以尝试在打包时将文件分割,在运行时将文件合并。 打包 打包时将文件分割成多个文件,这个可以根据需要指定规则处理。例如可以使用随机文件名、分割成随机的份数。 加载 LoadFromStream Unity 2017.4 Unity 2018.4 Unity 2019.3 Unity 2020.1 或更高版本新增了一个从流读取 AssetBundle 的 API,那么可以将多个文件合并为一个文件流供 API 使用。 Unity - Scripting API: AssetBundle.LoadFromStream 虽然通过这个 API 可以自定义 AssetBundle 加载方式,包括加密、多文件读取、内存中读取等等。但是有一个致命缺点:使用时占用文件打开数量,而操作系统对文件打开数量是有上限的。 5.5.4. iOS file handle overuse Current versions of Unity are not affected by this issue. In versions prior to Unity 5.3.2p2, Unity would hold an open file handle to an AssetBundle the entire time that