はじめに
このブログで紹介してきたエディタ拡張に関するオススメの記事を100件まとめました
目次
オススメ
- Unity プロジェクトにスクリプトを追加せずにエディタを拡張する方法
- エディタ拡張で使用できるコールバックを40個まとめて紹介
- Unity エディタのデザインを変更することができる「Zios Themes」
自作
Hierarchy
Project ビュー
- ScriptableObject のアイコンを変更する方法
- .shader を Visual Studio ではなく関連付けしているツールで開く
- Project ビューで AudioClip を選択した時に自動でプレビューを再生する
- Editor フォルダを作成する
Inspector
- ショートカットキーで Inspector をロックしたりデバッグモードに切り替える
- Alt + Q で Inspector のロック状態を切り替える
- Inspector で AnimationCurve をコピー・ペーストできるようにする
- Inspector の浮動小数点数の入力欄で 0.0000000e-0 の表示形式を防ぐ
- Inspector に表示されるパラメータをエディタ再生中のみ編集不可能にする
- Inspector に表示されるパラメータを編集不可能にする
- マテリアルの Inspector で右クリックした時に表示されるメニューに項目を追加する
- 選択中の複数のプレハブのインスタンスの変更を取り消す
- ContentSizeFitter の FitMode をすべて「PreferredSize」にする
EditorWindow
- Alt + C で Profiler をクリアする
- エディタで Web ページを表示する方法
- ちょっと良い見た目のツールバーを自作してみる
- 検索欄を自作してみる
- コンパイル時間を計測して表示する
- 「EditorGUIUtility.IconContent」で使用できるビルトインのアイコンを表示する
- Unity で用意されているすべてのエディタウィンドウのクラス情報を取得してみる
- Game ビューのインスタンスを取得する
コールバック
- ゲーム再生中はスクリプトのコンパイルを止める
- ゲーム再生中にスクリプトがコンパイルされたらゲームを停止する
- ゲームを再生・停止した時にアセットを保存する
- ゲームの再生を止めた直後に再生を開始する
- F5 でゲームを再生、Shift + F5 でゲームを停止する
- エディタ上でキーが入力された時にサウンドを再生する
- SpriteAtlas がインポートされた時に Tight Packing をオフにする
その他
- Unity エディタが使用している約3,000個の PNG のアイコンを ZIP でまとめました
- コンパイル完了時にトースト通知を表示する(Windows 限定)
- Unity エディタを再起動する
- AudioClip を再生する方法
- .wav を再生する方法
- エディタ右下に表示されるプログレスバーをスクリプトから操作する方法
- 列挙型とそれに関連する便利なクラスや拡張メソッドを自動生成する
- VisualStudio にコンソールログを送らないようにする
- 現在開いているシーンの変更フラグを立てる便利関数
- 各ウィンドウのサイズや Preferences の設定は EditorPrefs で取得して変更できる?
オープンソース
Scene ビュー
- SceneHistoryWidget.cs - 最近開いたシーンの履歴を Scene ビューに追加する
- Unity3D-PrefabEditor - プレハブを専用の Scene ビューで編集できる
- EditPrefab.cs - プレハブを専用の Scene ビューで編集できる
- Arrows2DMovement.cs - Scene ビューで矢印キーを押してオブジェクトを動かせる
- NormalsVisualizer.cs - Scene ビューにメッシュの法線を表示できる
- Unity Simple Grid Framework - Scene ビューにカスタマイズ可能なグリッドを表示
- UnitySceneViewFovControl - Scene ビューの FOV(画角)を変更できる
Hierarchy
- Folders - Hierarchy のオブジェクトをフォルダで管理できる
- PivotUtilities.cs - オブジェクトの位置情報を持つ親オブジェクトを作成できる
- HighlightHelper - Hierarchy でマウスを乗せてるオブジェクトがハイライト表示される
Project ビュー
- Unity3D Rainbow Folders - Project ビューのフォルダアイコンをカスタマイズできる
- BuildSceneProcessor.cs - シーンを新規追加した時に BuildSettings に追加できる
Inspector
- AssetPathAttribute - Inspector でアセットのパス文字列をドラッグして設定できる
- NotNullAttribute - 変数の参照が設定されていないオブジェクトを発見できる
- SceneObject - Inspector で変数にシーンファイルを設定できるようにする
- TrafficLightAttribute - Inspector でパラメータを信号機のアイコンで表示できる
- Texture Exporter - 組み込みテクスチャを PNG で出力できる
EditorWindow
- field-monitor - static な変数やプロパティの値を専用のウィンドウで閲覧できる
- Unity - Mulligan Renamer - オブジェクトの名前を一括でリネームできる
- EditorGUISplitView - EditorWindow でドラッグ可能な分割ビューを使用できる
- ScenePanel - シーンを簡単に開けてお気に入りで管理できる
- SelectionLog - 選択したオブジェクトの履歴を管理できる
- compile-time-tracker - コンパイル時間を確認できる
- Better-Defines - 各プラットフォームごとにシンボルを管理できる
- SuperUnityBuild - 複数プラットフォーム向けのビルドの自動化ツール
- ScreenShooter for Unity3d - 複数の解像度向けにスクショを撮ることができる
- Unity Animation Hierarchy Editor - AnimationClip の参照パスを一覧表示して編集できる
- Unity Project Settings in a New Window - Project Setting を専用のウィンドウで表示
- Unity-Utilities - Unity エディタがレジストリに保存している値を閲覧できる
- Script Templates for Unity - スクリプトをテンプレートから自動生成できる
- EditorIconViewer - エディタ拡張で使用できるアイコンを閲覧できる
- UIElements - CSS ライクなエディタ拡張
コールバック
- CustomAssetImporter - アセットのインポート時の設定をエディタ上で管理できる
- GraphicDefaultValueWriter - UI の raycastTarget をデフォルトで false にする
- UguiOptimizeEditor - uGUI のオブジェクト生成時に raycastTarget を false にする
メニュー
- UnityBulkConverter - すべてのオブジェクトに対して処理を行うことができる
- Simple Editor Shortcuts Tools Collection - 10種類のショートカットキーを追加する
- Unity-Hotkeys - Inspector のロックとコンソールのクリアのホットキーを追加する
- Unity-Frequent-Settings-Shortcut - ProjectSettings の各項目を開くメニューを追加する
- Unity-Random-Duplicate - オブジェクト複製時に回転と大きさをランダムに設定できる
- SaveEditorDefaultResources - Unity エディタの約3,000個のアイコンを出力できる
- CustomInspectorCreator.cs - Custom Inspector を作成するメニューを追加する
その他
- demilib - DOTween の作者さんが開発された Unity ライブラリ
- QuickSearch - Unity エディタでコマンドパレットが使用できるようになる
- EditorCoroutineRunner - エディタでコルーチンを使用できるようにする
- UnityEditorHelper - エディタ拡張で作成する GUI を見やすくする
API
- Inspector 内に他オブジェクトの Custom Inspector を表示する「Editor.CreateEditor」
- エディタ拡張でツールバーのボタンを表示できる「GUILayout.Toolbar」
- Unity エディタの特定の項目を常にハイライトして目立たせる方法
NGUI
- 複数選択している UISprite を一括で Snap する
- アトラスに含まれているスプライト名と書式指定関数を管理するクラスを自動生成する
- BoxCollider の領域を UIWidget に合わせて調整するボタンを Inspector に追加する
- BoxCollider の領域を UIWidget に合わせて調整するコンテキストメニューを追加する
- UICenterOnChild の Inspector に整列用のボタンを追加する
- UIWrapContent の Inspector にソート用のボタンを追加する
- UIScrollView の Inspector にリセット用のボタンを追加する
- UIGrid の Inspector に整列用のボタンを追加する