本日はUnity枠です。
UnityEditor拡張を使用して現在のUnityプロジェクトにインポートされているパッケージを取得していきます。
〇インポートされているパッケージを取得する
インポートされているパッケージを取得するためには次のようなコードを使用します。
static void getImportedPackages() { packages = new List<string>(); ListRequest request = Client.List(); EditorApplication.update += OnUpdate; void OnUpdate() { if (request.IsCompleted) { if (request.Status == StatusCode.Success) { foreach (var package in request.Result) { Debug.Log(package.name); packages.Add(package.name); } } else if (request.Status >= StatusCode.Failure) { Debug.LogError(request.Error.message); } EditorApplication.update -= OnUpdate; } } }
実行するとコンソールにプロジェクトにインポートされているパッケージが表示されます。
ListRequest request = Client.List();でUnityのパッケージマネージャーに対してのリクエストを行っています。
if (request.IsCompleted)でrequestの取得が完了したかを検知しています。
もしうまく成功していない場合はDebug.LogError(request.Error.message);でエラーが出るようになっています。
成功した場合はforeach文で取得したパッケージ名をログとして出力、またString型のリストに格納しています。
これによって現在インポートされているパッケージを取得することができました。