コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】Addressable Asset System でカタログがビルドされている箇所、ランタイムで読み込まれている箇所

リモートカタログがビルドされている箇所

  • BuildScriptPackedMode.cs
    • CreateRemoteCatalog 関数
WriteFile(remoteJsonBuildPath, jsonText, builderInput.Registry);

ローカルカタログがビルドされている箇所

  • BuildScriptPackedMode.cs
    • CreateCatalogFiles 関数
WriteFile(m_CatalogBuildPath, jsonText, builderInput.Registry);

カタログがランタイムで読み込まれている箇所

  • ContentCatalogProvider.cs
    • Start 関数
IResourceLocation location = new ResourceLocationBase(idToLoad, idToLoad, typeof(JsonAssetProvider).FullName, typeof(ContentCatalogData));
providerInterface.ResourceManager.ProvideResource<ContentCatalogData>(location).Completed += op =>
{
    m_ContentCatalogData = op.Result;
    m_ProviderInterface.ResourceManager.Release(op);
    OnCatalogLoaded(m_ContentCatalogData);
};
  • JsonAssetProvider の中で JsonUtility.FromJson されている
  • この処理はローカルカタログの読み込み時にも呼び出されている