コガネブログ

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

【Unity】Unity 2020.2 新機能 - Package Manager に登録されているパッケージに変更があった時に呼び出されるイベントが追加された

概要

using UnityEditor;
using UnityEditor.PackageManager;
using UnityEngine;

[InitializeOnLoad]
public static class Example
{
    static Example()
    {
        void Handle( PackageRegistrationEventArgs args )
        {
            foreach ( var info in args.added )
            {
                Debug.Log( info.assetPath );
            }

            foreach ( var info in args.changedFrom )
            {
                Debug.Log( info.assetPath );
            }

            foreach ( var info in args.changedTo )
            {
                Debug.Log( info.assetPath );
            }

            foreach ( var info in args.removed )
            {
                Debug.Log( info.assetPath );
            }
        }

        Events.registeringPackages += Handle; // 変更を適用する前
        Events.registeredPackages  += Handle; // 変更を適用した後
    }
}