同じ操作を今日も30回繰り返した。プレハブを選んで、位置を微調整して、また次を選んで——「これ、ボタン一発にできないかな」と思ったことはありませんか? その願い、Unityは自分で叶えられます。
エディタ拡張 は、Unity Editorそのものの機能を拡張する技術です。メニュー項目の追加、カスタムウィンドウ、インスペクターの作り替えまで、あなたのプロジェクト専用の道具をC#で作れます。ゲームには1バイトも含まれない、開発を速くするためだけのコードです。
この記事でわかること
- エディタ拡張の基本ルール——Editorフォルダの配置
- MenuItem・EditorWindow・CustomEditor・PropertyDrawerの作り方
- AssetDatabase・Selection・UndoなどエディタAPIの使い方
- 実践:散らかったレベルを一発で整える整列ツールを作る
動作確認環境: Unity 6 (6000.x)
目次
Sponsored
Editorフォルダの配置
エディタ拡張のスクリプトは、必ず Editorフォルダ 内に配置する必要があります。
なぜEditorフォルダが必要なのか
- Unity Editorでのみ使用するコードを分離
- ビルド時に自動的に除外される(Assembly Definition の配下では、この自動の除外は働きません。その場合は asmdef 側で Editor 専用にします)
- エディタ専用のAPIを使用できる
- コンパイル順序の制御
配置場所
- プロジェクト内のどこにでも配置可能
- 一般的には
Assets/Editorに配置 - 複数のEditorフォルダを持つことも可能
- エディタ拡張で使用するリソース(画像、フォントなど)は
Editor Default Resourcesフォルダに配置
MenuItem:メニュー項目の追加
まず、4種類の拡張がエディタのどこを変えるのかを押さえておくと、この先が読みやすくなります。
