unity io_error ai_generated true

UnityEngine.AddressableAssets: Initialization failed: Failed to load content catalog from path 'Library/com.unity.addressables/aa/catalog.json'. Exception: System.IO.FileNotFoundException

ID: unity/addressable-catalog-load-failure

Also available as: JSON · Markdown · 中文
93%Fix Rate
87%Confidence
1Evidence
2023-09-12First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
Unity 2022.3 active — — —
Addressables 1.21.0 active — — —
Unity 2023.1 active — — —

Root Cause

The Addressables content catalog file is missing or not built, often because the Addressables build was not run or the catalog was deleted.

generic

中文

Addressables内容目录文件丢失或未构建,通常是因为Addressables构建未运行或目录被删除。

Official Documentation

https://docs.unity3d.com/Packages/[email protected]/manual/InitializeAsync.html

Workarounds

  1. 95% success Rebuild the Addressables content by going to Window > Asset Management > Addressables > Groups, then click 'Build' > 'New Build' > 'Default Build Script'.
    Rebuild the Addressables content by going to Window > Asset Management > Addressables > Groups, then click 'Build' > 'New Build' > 'Default Build Script'.
  2. 90% success If the catalog is missing in a built player, ensure 'Build Remote Catalog' is enabled in Addressables settings and that the catalog is included in the build via 'Player Preload'.
    If the catalog is missing in a built player, ensure 'Build Remote Catalog' is enabled in Addressables settings and that the catalog is included in the build via 'Player Preload'.

中文步骤

  1. 通过Window > Asset Management > Addressables > Groups重建Addressables内容,然后点击'Build' > 'New Build' > 'Default Build Script'。
  2. 如果在构建的播放器中缺少目录,请确保在Addressables设置中启用'Build Remote Catalog',并通过'Player Preload'将目录包含在构建中。

Dead Ends

Common approaches that don't work:

  1. 90% fail

    Manually creating a catalog.json file with dummy content causes deserialization errors because the format is specific to Addressables.

  2. 85% fail

    Copying a catalog.json from another project does not work because it contains references to assets specific to that project's groups.