Version: 2023.2
언어: 한국어
AssetBundle compression and caching
문제 해결

에셋 번들로 패치

Patching AssetBundles is as simple as downloading a new AssetBundle and replacing the existing one. If UnityWebRequestAssetBundle.GetAssetBundle is used to manage an application’s cached AssetBundles, passing a different version or hash parameter will trigger a download of the new AssetBundles.

패치 시스템에서 더 해결하기 어려운 문제는 대체할 에셋 번들을 탐지하는 것입니다. 패치 시스템은 다음 두 가지 정보 리스트를 요구합니다.

  • 현재 다운로드된 에셋 번들과 각각의 버전 정보 리스트
  • 서버에 있는 에셋 번들과 각각의 버전 정보 리스트

패치를 하기 위해서는 서버 측 에셋 번들 리스트를 다운로드하고 에셋 번들 리스트를 비교해야 합니다. 누락된 에셋 번들이나 버전 정보가 변경된 에셋 번들은 다시 다운로드해야 합니다.

Unity does not provide any built-in mechanism for differential patching and UnityWebRequestAssetBundle.GetAssetBundle does not perform differential patching when using the built-in caching system. Instead it always downloads the new AssetBundle file in its entirety. If differential patching is a requirement, then a custom downloader must be written. Unity builds AssetBundles with data ordered in a deterministic manner, so a file patch for a rebuilt AssetBundle can potentially be much smaller than the full file. The uncompressed or chunk-based compression (LZ4) will patch better than the default full file compression (LZMA). Most developers who write their own system choose to use an industry-standard data format for their AssetBundle file lists, such as JSON, and a standard C# class for computing file content hashes, such as MD5. The file content hash can serve as an AssetBundle version, or you can use more traditional version numbers if those are generated by your build systems.

AssetBundle compression and caching
문제 해결
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961