今回はUnityで複数選択しているアセットの名前をコピーしてテキストエディタなどでペーストしたいときがあると思うのですが、デフォルトでは利用できなかったので自作することにしました。
スプレッドシートなどにコピペするときに便利なのでぜひご活用ください。
プラグインについて
今回紹介するプラグインはUnityのProjectウィンドウで複数選択しているアセットのパスをコピペできるようにする機能です。


スプレッドシートやテキストとして引用するときに不便なんですよね…
ダウンロード
ダウンロードはこちら
[Unity]選択したファイル名を一覧取得するプラグイン
インストール方法
インストール方法はこちら
ソースコード
TedLab_SelectionEditor.cs
using UnityEngine;
using UnityEditor;
using System;
using System.IO;
namespace TedLab
{
public class SelectionEditor
{
[MenuItem("TedLab/選択中アセット/パスをコピー")]
static void OutputSelectionPath()
{
OutputSelectionImpl((path)=>{ return path; });
}
[MenuItem("TedLab/選択中アセット/ファイル名をコピー")]
static void OutputSelectionFileName()
{
OutputSelectionImpl((path)=>{ return Path.GetFileName(path);});
}
[MenuItem("TedLab/選択中アセット/名前をコピー")]
static void OutputSelectionName()
{
OutputSelectionImpl((path)=>{ return Path.GetFileNameWithoutExtension(path);});
}
static void OutputSelectionImpl(Func<string, string> output)
{
var assets = Selection.objects;
var outputText = "";
foreach(var asset in assets)
{
var path = AssetDatabase.GetAssetPath(asset);
if( AssetDatabase.IsValidFolder(path) ){
continue;
}
if(!string.IsNullOrEmpty(outputText)){
outputText += Environment.NewLine;
}
outputText += output(path);
}
GUIUtility.systemCopyBuffer = outputText;
}
}
} // namespace TedLab
利用の流れ
使い方は簡単です。
メニューバーにある「TedLab→選択中アセット」を選択すると複数項目が出ます。

その項目をクリックすると選択したアセット数だけ項目に応じた処理が実行されます。
下記パスで例に出すとこのようになります。
例:Assets/Test/test.png
実際にコピペする
先程の項目をクリックしたあとにテキストエディタなどで
「Ctrl+V or Command+V」を入力するか右クリックしてペーストすると
上記ルールに従ってテキストをペーストされます。


よく作業していて欲しくなる機能だったのでかなり便利です!
活動内容のPR
下記が本サイトでの活動内容となります。
最後に
いかがでしたでしょうか。
今回は一括で選択しているアセット名をコピペできる機能を公開してみました。
これでデータ名で事務作業するような時にひとつずつコピペするようなことはしなくても良さそうです。

簡単な機能ですが作ってみてよかった!
ぜひご活用ください。
本サイトではゲーム開発やUnity、英語学習や私自身が気になっていることを紹介するサイトです。もし興味がありましたら画面左下のベルマークから本サイトを購読していただけますと幸いです。
では本記事はここで終わりです。
ここまでお読みいいただきありがとうございました。






コメント