Unity Addressables Guide (8) — Loading Part 2: Catalogs
 contains:
- Address entries
- Bundle information
- Dependencies
- Hash values for validation
Loading Catalogs:
When the Addressables system starts, it loads the default catalog. You can also load additional catalogs at runtime:
// Initialize Addressables with the default catalog
await Addressables.InitializeAsync();
// Load an additional catalog from a URL
var catalogHandle = Addressables.LoadContentCatalogAsync("https://example.com/catalogs/v2_catalog.json");
await catalogHandle.Task;
Using Multiple Catalogs:
One of the powerful features of Addressables is the ability to work with multiple catalogs simultaneously. This enables:
- A/B Testing: Load different versions of assets for different user groups
- Region-specific content: Load different regional catalogs
- DLC management: Maintain separate catalogs for different DLC packages
Example: Loading a Region-Specific Catalog
string region = GetUserRegion();
string catalogUrl = $"https://cdn.example.com/catalogs/{region}_catalog.json";
var catalogHandle = Addressables.LoadContentCatalogAsync(catalogUrl);
await catalogHandle.Task;
// Now load assets using the region-specific catalog
var prefabHandle = Addressables.LoadAssetAsync<GameObject>("RegionalPrefab");
var prefab = await prefabHandle.Task;
Catalog Validation:
Addressables has built-in validation features to ensure catalog integrity:
- Hash checking: Each catalog entry can be verified against stored hashes
- Dependency resolution: Dependencies between assets are resolved automatically
- Error handling: Invalid entries are reported and can be handled gracefully
Best Practices:
- Organize by content type: Group related assets in the same catalog for easier management
- Version your catalogs: Use versioning in catalog file names for easy rollback
- Test catalog loading: Always test loading different catalogs under various network conditions
- Monitor catalog size: Keep catalog sizes reasonable for fast loading
Debugging Catalogs:
You can use the Addressables window in the Unity Editor to inspect catalog contents:
- Window > Asset Management > Addressables
- View loaded catalogs and their contents
- Verify address-to-bundle mappings
Performance Considerations:
- Lazy loading: Catalogs are loaded on-demand, not preloaded
- Caching: Loaded catalogs are cached in memory for fast access
- Network efficiency: Load catalogs only when needed to reduce network traffic
The Addressables catalog system is the foundation of its power and flexibility. Understanding how catalogs work enables you to build more sophisticated asset management systems in your Unity projects.
In the next post, we will look at practical examples of working with catalogs and advanced loading strategies.