ダウンロード済みのUnityアセットを一括インポートする拡張エディタ
をChatGPT4にお願いしたら作ってもらえたので、置いておきます。
よしなに使ってください。
上から8行目辺りの「アセットの保存場所」となっているところを、自身のアセット保存フォルダの絶対パスに置き換えてください。
(基本的にはC:/Users/(ユーザー名)/AppData/Roaming/Unity/Asset Store-5.x)(念のため補足しておきますが、(ユーザー名)の部分は置き換えてくださいね)
using System.IO;
using System.Linq;
using UnityEditor;
using UnityEngine;
public class BatchImporterWindow : EditorWindow
{
private string rootFolderPath = "アセットの保存場所";
private Vector2 scrollPosition;
private bool[] packageToggles;
private string[] packagePaths;
[MenuItem("Window/Batch Importer")]
public static void ShowWindow()
{
GetWindow<BatchImporterWindow>("Batch Importer");
}
private void OnEnable()
{
FindPackages();
}
private void OnGUI()
{
EditorGUILayout.LabelField("Batch Importer", EditorStyles.boldLabel);
EditorGUILayout.LabelField("Root Folder Path", EditorStyles.label);
rootFolderPath = EditorGUILayout.TextField(rootFolderPath);
if (GUILayout.Button("Refresh Package List"))
{
FindPackages();
}
EditorGUILayout.Space();
EditorGUILayout.LabelField("Packages", EditorStyles.label);
scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition);
for (int i = 0; i < packagePaths.Length; i++)
{
packageToggles[i] = EditorGUILayout.ToggleLeft(Path.GetFileName(packagePaths[i]), packageToggles[i]);
}
EditorGUILayout.EndScrollView();
if (GUILayout.Button("Import Selected Packages"))
{
ImportSelectedPackages();
}
}
private void FindPackages()
{
packagePaths = Directory.GetFiles(rootFolderPath, "*.unitypackage", SearchOption.AllDirectories);
packageToggles = new bool[packagePaths.Length];
}
private void ImportSelectedPackages()
{
for (int i = 0; i < packagePaths.Length; i++)
{
if (packageToggles[i])
{
AssetDatabase.ImportPackage(packagePaths[i], false);
}
}
}
}
UnityプロジェクトにEditorという名前のフォルダを作成し、その中に新規C#ファイルを作って開き、上記のコードを貼り付け、保存します。
ファイル名は何でも大丈夫みたいですが、"BatchImporterWindow.cs"とかにしておくといいでしょう。
そうするとWindowメニューの下にBatch Importerという新しい項目が追加されています。これを選択すると、一括インポートウィンドウが表示されます。
あとは適当にインポートしたいアセットにチェックを入れて、下のImport Selected Packageを押すと一括でダウンロードできます。
今のところ1個だけインポートする場合と、複数インポートする場合を試してみましたが、問題なくインポートできていることが確認できています。
ですが、何かしら問題が発生したら追記しようと思っています。
この記事が気に入ったらサポートをしてみませんか?