← Files UnityARCHIVED FILE

skills/manage-sprite-atlas/resources/buildaddressablespostprocess.cs

1.84 KB · Oct 3, 2026 · 06:34 UTC

↓ Download file

// [UNITY-SKILL:SPRITEATLAS]
// [TYPE:POSTPROCESS-ADDRESSABLES]
// Generated by SpriteAtlas V2 Skill
// This script builds Addressables content after atlas generation

using UnityEditor;
using UnityEditor.Build;
using UnityEditor.Build.Reporting;
using UnityEngine;

#if UNITY_ADDRESSABLES
using UnityEditor.AddressableAssets;
using UnityEditor.AddressableAssets.Settings;
using UnityEditor.AddressableAssets.Build;
#endif

/// <summary>
/// Builds Addressables content after atlas generation
/// This ensures atlases are available for on-demand loading
/// </summary>
public class BuildAddressablesPostprocess : IPostprocessBuildWithReport
{
    public int callbackOrder => 1; // Run after atlas generation (callbackOrder 0)

    public void OnPostprocessBuild(BuildReport report)
    {
#if UNITY_ADDRESSABLES
        Debug.Log("[Addressables] Building Addressables content...");

        var settings = AddressableAssetSettingsDefaultObject.Settings;
        if (settings == null)
        {
            Debug.LogError("[Addressables] Addressables settings not found. Cannot build addressables content.");
            return;
        }

        try
        {
            // Build addressables content
            AddressableAssetSettings.BuildPlayerContent(out AddressablesPlayerBuildResult result);

            if (!string.IsNullOrEmpty(result.Error))
            {
                Debug.LogError($"[Addressables] Build failed: {result.Error}");
            }
            else
            {
                Debug.Log($"[Addressables] Build completed successfully. Duration: {result.Duration}");
            }
        }
        catch (System.Exception ex)
        {
            Debug.LogError($"[Addressables] Build exception: {ex.Message}");
        }
#else
        Debug.LogWarning("[Addressables] Addressables package not installed. Skipping addressables build.");
#endif
    }
}

SHA-256: 238fc19975e30043fb8c10d15f4b4e69b87f6ac229dca8e45b93e455c3a6f5b1