はじめに
unity標準のインスペクターをかなり使いやすくできるアセットOdin inspectorの紹介です。
Odin inspector を使うことで自分のプロジェクトに特化したエディターを作成し、開発効率が上がります。
アセットストアでも非常に評価が高いアセットです。他のブログ記事でも取り上げられていることが多いので、人気があります。
![](https://sp-ao.shortpixel.ai/client/to_webp,q_glossy,ret_img,w_1004,h_628/https://umistudioblog.com/wp-content/uploads/2023/04/image-9.jpg)
Odin inspectorの特徴
インスペクターに様々なものが表示できる
ボタンやスライダー、マテリアルのプレビュー表示などが簡単にできるようになります。
ボタンをインスペクターに表示するだけなら、Unity標準機能でも実現できますが、非常に簡単なコードで、様々なサイズのボタンを配置できるため、お手軽です。
標準的なボタンから、
![](https://sp-ao.shortpixel.ai/client/to_webp,q_glossy,ret_img,w_500,h_155/https://umistudioblog.com/wp-content/uploads/2023/04/image-8.png)
変数の横に表示するボタンなどもあります。
![](https://sp-ao.shortpixel.ai/client/to_webp,q_glossy,ret_img,w_535,h_69/https://umistudioblog.com/wp-content/uploads/2023/04/image-9.png)
ボタンを横に並べることもできます。
![](https://sp-ao.shortpixel.ai/client/to_webp,q_glossy,ret_img,w_582,h_92/https://umistudioblog.com/wp-content/uploads/2023/04/image-10.png)
オブジェクトのコンポーネントも表示可能
さらに、オブジェクトのコンポーネントを表示させることで、いちいちオブジェクトをクリックして、そのオブジェクトのインスペクターを見に行く手間が省けます。
1つのインスペクターに複数のオブジェクトのコンポーネントを表示できます。
![](https://sp-ao.shortpixel.ai/client/to_webp,q_glossy,ret_img,w_1024,h_640/https://umistudioblog.com/wp-content/uploads/2023/04/image-8-1024x640.jpg)
何度もいじる必要がある要素は一つのインスペクターにまとめておけば、デバッグもはかどりますね。
![](https://sp-ao.shortpixel.ai/client/to_webp,q_glossy,ret_img/http://umistudioblog.com/wp-content/uploads/2023/01/cropped-アイコン候補.png)
オブジェクトのコンポーネントまで表示できるのはすごい便利!
そのほか、Unity標準機能では、インスペクターに表示できないprivateな変数を表示できるようにしたり、
自作のウィンドウが簡単に作れるようになる
インスペクターだけではなく、ウィンドウ自体を作ることも可能です。
ゲームで使うデータベースを一覧できるウィンドウを作ることに活用できそうです。画像の左側のように、メニューバーを作成できるので、表示したい項目が多くなっても整理して見やすくできます。
![](https://sp-ao.shortpixel.ai/client/to_webp,q_glossy,ret_img,w_673,h_411/https://umistudioblog.com/wp-content/uploads/2023/04/image-11.png)
ドキュメントが豊富
また、公式ドキュメントが豊富にあります。
英語で書かれてあるので、抵抗がある方もいるかもしれませんが、コード例や表示画面も記載されてあるので、理解しやすいと思います。
使い方
事前準備
スクリプトの頭に以下のコードをつけます。
using Sirenix.OdinInspector;
これで準備はOK!
あとはインスペクターに表示したいものを入れていきます。
画面上の、Tools > Odin > Inspector > Attribute Overview を見て取り入れたいものを探すのが、実際のプレビュー表示も見えるのでおすすめです。
![](https://sp-ao.shortpixel.ai/client/to_webp,q_glossy,ret_img,w_463,h_204/https://umistudioblog.com/wp-content/uploads/2023/04/image-12.png)
どのようなものを表示できるか、インスペクターの見え方と、コードについても書いてあるので、使いたいものをコピペしてきましょう。
![](https://sp-ao.shortpixel.ai/client/to_webp,q_glossy,ret_img,w_856,h_877/https://umistudioblog.com/wp-content/uploads/2023/04/image-13.png)
機能の一例
いろいろ探ってみて、良さそうだと思った機能を紹介します。
ボタンの配置
まずは基本的な機能です。ボタンをインスペクターに配置するコードです。
[Button("ボタンの名前")]
private void Button()
{
// ここにボタンを押した処理を書く
Debug.Log("ボタンを押した!");
}
![](https://sp-ao.shortpixel.ai/client/to_webp,q_glossy,ret_img,w_432,h_34/https://umistudioblog.com/wp-content/uploads/2023/04/image-14.png)
インスペクターへの設定し忘れを防ぐ
[Required]をつけると、インスペクターに表示したものがNoneになっているときは、エラーコメントを表示して気づかせてくれます。
いつもは実行してからエラーが出て、初めて気づくことが多いので、役立ちそうです。
[Required]
public GameObject MyGameObject;
![](https://sp-ao.shortpixel.ai/client/to_webp,q_glossy,ret_img,w_571,h_52/https://umistudioblog.com/wp-content/uploads/2023/04/image-17.png)
Dictionary型の表示
通常、Dictionaryをインスペクターに表示するのが難しいのですが、Odin Inspectorでは簡単に表示することができます。
![](https://sp-ao.shortpixel.ai/client/to_webp,q_glossy,ret_img,w_633,h_151/https://umistudioblog.com/wp-content/uploads/2023/04/image-18.png)
public Dictionary<int, Material> IntMaterialLookup;
Addボタンを押すことで、リストに追加することができます。
![](https://sp-ao.shortpixel.ai/client/to_webp,q_glossy,ret_img/http://umistudioblog.com/wp-content/uploads/2023/01/cropped-アイコン候補.png)
インスペクターからDictionaryが編集できる!
変数をまとめて見やすくできる
![](https://sp-ao.shortpixel.ai/client/to_webp,q_glossy,ret_img,w_571,h_136/https://umistudioblog.com/wp-content/uploads/2023/04/image-19.png)
BoxGroupで、変数をまとめて表示することができます。
[BoxGroup("Some Title")]
public string A;
[BoxGroup("Some Title")]
public string B;
// Box with a centered title.
[BoxGroup("Centered Title", centerLabel: true)]
public string C;
[BoxGroup("Centered Title")]
public string D;
数値をプログレスバーで表示する
![](https://sp-ao.shortpixel.ai/client/to_webp,q_glossy,ret_img,w_575,h_19/https://umistudioblog.com/wp-content/uploads/2023/04/image-20.png)
[ProgressBar(0, 100)]
public int ProgressBar = 50;
ウィンドウも自作できる
専用のウィンドウも簡単に作成することができます。
チュートリアルは、Tools > Odin > Getting Startedを選択します。
![](https://sp-ao.shortpixel.ai/client/to_webp,q_glossy,ret_img,w_282,h_51/https://umistudioblog.com/wp-content/uploads/2023/04/image-15.png)
![](https://sp-ao.shortpixel.ai/client/to_webp,q_glossy,ret_img,w_900,h_909/https://umistudioblog.com/wp-content/uploads/2023/04/image-16.jpg)
Odin InspectorのGet startedを押します。
Odin Editor Windowsを選択すると、ウィンドウのサンプルとコードを見ることができます。
![](https://sp-ao.shortpixel.ai/client/to_webp,q_glossy,ret_img,w_897,h_858/https://umistudioblog.com/wp-content/uploads/2023/04/image-16.png)
おわりに
Odin Inspectorのアセットを使ってみました。簡単にインスペクターを使いやすくしたい方におすすめのアセットです。
時間の節約にもなるので、ぜひ使ってみましょう!
![](https://sp-ao.shortpixel.ai/client/to_webp,q_glossy,ret_img,w_1004,h_628/https://umistudioblog.com/wp-content/uploads/2023/04/image-9.jpg)