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

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

這份指南分成四個部分:

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

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

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