読者です 読者をやめる 読者になる 読者になる

ほげほげ(仮)

仮死状態

unitypackageに含めるファイルをコードで定義しておきエクスポートする

Unity

よく使う処理をまとめてunitypackageとして使えるようにしてるのですが、標準のExport Package...からだと含めるファイルを毎回選択しないといけないので非常に面倒です。

なので、コードで含めるファイルを定義しておき、それをカスタムメニューとしてすぐにエクスポートできるようにしておきます。

カスタムメニュー実装

下記のコードをAssets/Editor/ExportPackage.csに保存します。

using UnityEditor;

public class ExportPackage
{
    [MenuItem ("Assets/Custom/Export Package")]
    static void Export ()
    {
        // 含めるファイル一覧
        string[] file = {
            "Assets/Scripts/Hoge.cs",
            "Assets/Scripts/Foo.cs",
            "Assets/Scripts/Piyo.cs",
        };
        // エクスポート
        AssetDatabase.ExportPackage (file, "hoge.unitypackage", ExportPackageOptions.Recurse | ExportPackageOptions.Default);
    }
}

AssetDatabase.ExportPackageの第三引数のオプションがイマイチ分からず苦労しました…

実行

あとはUnityのメニューから実行します。

上のコードの設定だとAssets > Custom > Export Packageから実行でき、hoge.unitypackageがプロジェクト直下に作成されます。