エディタ拡張をし易くするエディタ拡張
よく聞く話(個人的に)
Q. エディタ拡張やらないの? 自分で便利にできるのに
よく聞く話(個人的に)
Q. エディタ拡張やらないの? 自分で便利にできるのに
よく聞く話(個人的に)
Q. エディタ拡張やらないの? 自分で便利にできるのに
よく聞く話(個人的に)
Q. エディタ拡張やらないの? 自分で便利にできるのに
理由
聞いて
みた
よく聞く話(個人的に)
Q. エディタ拡張やらないの? 自分で便利にできるのに
理由
聞いて
みた
• 覚えることが多い
• 0からまた覚えるのは面倒
• 時間かけてやるほど必要に迫られてない
• Assetでいいのでは
よく聞く話(個人的に)
Q. エディタ拡張やらないの? 自分で便利にできるのに
理由
聞いて
みた
• 覚えることが多い
• 0からまた覚えるのは面倒
• 時間かけてやるほど必要に迫られてない
• Assetでいいのでは
わかる
エディタ拡張するのに必要な物おさらい
• Editorフォルダ
• エディターAPI を使用するための特別なフォルダー
• Asset/内であればどこでも良い
• 複数設置可能
• Editor/EditorWindow継承クラス
• Inspectorに置けない
• クラス内変数値がpublicだろうが[SerializeField]つけてようが問答無用で初期化
• ランタイム(実機上で)動作しない
• Editorフォルダ内になければならない
• なくても動かす方法はある
エディタ拡張の(多分)最も短い処理
[Behaviour部分]
[エディタ拡張部分]
書くこともそれなりに多い
※Editorフォルダ上に置かなくても、
同一ファイル内であれば走る。ただし
#if UNITY_EDITOR
…
#endif
内に記述しなければ出力時エラー吐く
エディタ拡張の(多分)最も短い処理
Behaviour部分
エディタ拡張部分
記述(変更)が必要な個所は
最低3つで済むのでは…
折りたたみとか他凝った処理を
記述するなら別
というわけで作ってみました
EditorExtendSupporter
どんなの?
• エディター拡張処理の作成・記述をほぼ意識する事なく行うこ
とが出来るようにする
• InspectorからUIの変更を行う事が可能(にする予定、未実装)
どんなの?
どんなの?
どんなの?
どんなの?
どんなの?
どんなの?
どんなの?
どんなの?
何を使っているの?
• ScriptTemplates
• スクリプトファイルを作成するとき使用されるもの
• C#/Javaのスクリプトのテンプレートが記述されている
OS 保存場所
Mac /Applications/Unity/Unity.app/Contents/Resources/ScriptTemplates
Windows C:Program FilesUnityEditorDataResourcesScriptTemplates
何を使っているの?
• ScriptTemplates
• スクリプトファイルを作成するとき使用されるもの
• C#/Javaのスクリプトのテンプレートが記述されている
• 自作することも可能
何を使っているの?
• ScriptTemplates
• スクリプトファイルを作成するとき使用されるもの
• C#/Javaのスクリプトのテンプレートが記述されている
• 自作することも可能
問題点
• 力業直接記述
• ScriptableObjectで管理できるはず
• ScriptTamplateのように使用する
• 管理をListで直接管理している
• オブジェクト削除などで管理情報が消える可能性大
• ScriptableObjectで管理できるはず
• DidReloadScriptsアトリビュートも使えてお得
• コンパイル時に走らせる関数を指定できる
• public static関数に限られる

【UnityFukuoka13】エディタ拡張をし易くするエディタ拡張