原文:https://unity3d.com/learn/tutorials/topics/best-practices/guide-assetbundles-and-resources,感謝 Unity Taiwan 同意翻譯。


這一系列的文章會深入探討 Unity 引擎的 Asset 與資源管理。目標是提供專業開發者關於 Unity Asset 與序列化(Serialization)系統底層實作的知識。我們也會檢視 Unity 的 AssetBundle 系統的根基,然後告訴你目前的最佳實作方式。

這份指南分成四個部分:

  1. Asset、Object 與序列化會探討 Unity 底層是如何序列化 Asset 還有處理 Asset 之間的參考(References)。強烈建議讀者先讀過這章,因為它同時也包含了之後章節用詞的定義。
  2. Resources 資料夾討論內建的 Resources API。
  3. AssetBundle 基礎根據第一章的資訊,在其之上繼續討論 AssetBundle 的載入還有 AssetBundle 內的 Asset 的載入。
  4. AssetBundle 使用模式是一篇篇幅很長的 AssetBundle 用法說明。它包含了如何將 Assets 分類成 AssetBundle 為佳、如何管理已經載入的 Assets、和常見的陷阱。

注意:這份指南裡的 Object 與 Asset 跟 Unity 的 API 命名規則並不相同。

這份指南裡所謂的 Object 在大部分的 Unity API 會用 Asset 來指涉,例如 AssetBundle.LoadAssetResources.UnloadUnusedAssets。這份指南裡面叫做 Asset 的檔案則幾乎不會曝露給公開的 API。少數的例外是跟建置相關的 API,像是 AssetDatabaeBuildPipeline。在這裡我們所謂的 Asset 在一般 API 文件通常被叫做檔案(File)。