2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【UE5】AssetActionUtilityを触ってみる

Last updated at Posted at 2025-12-07

はじめに

プロフィールにも少し書いてある通り自分は仕事ではUnityを使っているのですが、普段振られることが多いのがエディタ拡張周りのタスクです。

(ツールウィンドウやカスタムメニューの追加、特定のアセットがインポートされたときに何かしらの処理を行う、等々...)

最近「自分が普段やってるこの辺の作業ってUEだとどうやるんだろう?」と思ったので取っ掛かりやすいところ(今回はAssetActionUtility)から調べてみました。

参考にしたサイト様

実際にやってみる

実行環境:UnrealEngine 5.6.1

デフォルトである程度の量のアセットがあれば何でも良いので、今回はUEのThirdPersonテンプレートを使います

  1. Editor Utilities->Editor Utility Blueprintを選択
    image.png

  2. Asset Action Utilityを継承してBPを作成
    image.png

  3. FUNCTIONSの横の+ボタンを押して関数を追加(仮でTestActionという名前にしておきます
    image.png
    image.png

  4. コンパイルして何か適当なアセットを選択するとScripted Asset Actionsから先程追加した関数が追加&実行できるようになります
    AGDRec_20251124_041427.gif

応用編

特定のアセットを選択したときだけ関数を実行したい場合

Class DefaultsSupported Classesで選択時のメニューを追加したいアセットの種類(というよりクラス)を設定します。
image.png

例えばMaterialを設定した場合はMaterialを選択したときだけメニューが追加されます
image.png
image.png

※ちなみに複数個設定した場合はリスト内のどれかに該当すればメニューが追加されるみたいです
image.png

image.png

選択したアセットの情報がほしい時

Get Selected Assetsから現在選択してるアセットの一覧を得ることができます
image.png
選択したアセットを一括でリネームする、なんていうのをやりたい場合はこんな感じです
image.png

特定の条件を満たすアセットにのみ処理を実行したい場合

Class DefaultsSuppoerted Conditionsで処理の実行可否を動的に切り替えることが可能です。
image.png
Filterの欄に関数の実行条件を書いていくのですが、その際に使うのがアセットのメタデータと条件演算子(==>=)です。

メタデータについて

メタデータというのはアセットにカーソル合わせたときに出る↓みたいなやつのことです(画像はマテリアルを選択したときのもの)
image.png
アセットのパスは勿論のことマテリアルならシェーディングモデル、テクスチャであればフォーマット等のパラメータを実行条件として使うことができます。(詳しくはEpicの公式ドキュメントを参照)

実際にFilterを設定してみる

例えばLevelPrototyping/Materialsフォルダ下にあるアセットにのみ処理を実行したい場合はこのようにFilterを設定します。
image.png
こうすることでLevelPrototyping/Materialsフォルダ下のアセットを選択したときだけ関数を選択&実行できるようになります
image.png
image.png

また、Failure Reasonを編集することで選択したアセットが条件を満たしてなかった場合、メニューにカーソルを合わせるとその理由が表示されるようになります。
image.png
image.png

「条件を満たしてなければメニューから関数自体を非表示にしたい」という場合はShow in Menu if Filter Failsのチェックを外すことで非表示にできます
image.png
image.png

メニュー上での階層を変えたい場合

FUNCTIONSで追加した関数のDetailsからCategoryを編集することでメニュー上の階層をカスタムすることができます(初期値はDefault)
image.png
image.png

最後に

今回はAssetActionUtilityだけに絞りましたが他にもツールウィンドウを作ったり、既存の構造体・ActorのDetils(UnityでいうInspector)上での表示を変えたりとまだまだエディタ拡張でできそうなことはありそうなのでこの辺も調べて記事にできたらと思います。

(一応プログラマーなので次はC++に絡んだ記事にできればな~と...)

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?