【Unity】Inspector をカスタマイズするエディタ拡張用アセット「Odin - Inspector and Serializer」を64件の記事に分けて紹介

![](https://cdn-ak2.f.st-hatena.com/images/fotolife/b/baba_s/20170720/20170720153002.png)

# 備考

この投稿は自分のブログの記事の転載になります
http://baba-s.hatenablog.com/entry/odininspector

# 概要

2017/5/11 に、エディタ拡張用のアセット
「Odin - Inspector and Serializer」がリリースされました

<iframe src="https://api.assetstore.unity3d.com/affiliate/embed/package/89041/widget-wide?aid=1100l37E9" style="width:600px; height:130px; border:0px;"></iframe>

これは Unity エディタの Inspector の表示や操作性を拡張するアセットです

![](https://cdn-ak2.f.st-hatena.com/images/fotolife/b/baba_s/20170719/20170719155257.png)

例えば、Unity における配列やリストの表示は
デフォルトでは上記の画像のとおりですが

![](https://cdn-ak2.f.st-hatena.com/images/fotolife/b/baba_s/20170719/20170719154208.png)

「Odin - Inspector and Serializer」を導入するだけで
<span style="color: #ff5252">配列やリストで項目の並べ替えや削除ができるようになります</span>

これはあくまで一例であり、
「Odin - Inspector and Serializer」は
他にも豊富な機能をたくさん兼ね備えているので 
<span style="color: #ff5252">64件の記事</span>にわけて、Odin の機能を紹介していきます

# 検証環境

- Unity 5.6.2f1
- Odin - Inspector and Serializer 1.0.4.1

# スタートアップ

1. [入門](http://baba-s.hatenablog.com/entry/2017/07/25/100000)
1. [Attribute を使用したデザイン](http://baba-s.hatenablog.com/entry/2017/07/25/140000)
1. [シリアライズする](http://baba-s.hatenablog.com/entry/2017/07/25/180000)

# 基本機能

1. [配列やリストで項目の並べ替えや削除が可能](http://baba-s.hatenablog.com/entry/2017/07/20/100000)
1. [Dictionary を Inspector で編集可能](http://baba-s.hatenablog.com/entry/2017/07/20/140000)
1. [Quaternion、Vector3、Bounds、Rect の視認性が向上](http://baba-s.hatenablog.com/entry/2017/07/31/200000)
1. [変数のコピー・ペースト、配列やリストの削除が可能](http://baba-s.hatenablog.com/entry/2017/07/27/100000)
1. [ジェネリッククラスやインターフェイス、null 許容型の変数を Inspector で設定できるようにする「SerializedMonoBehaviour」クラス](http://baba-s.hatenablog.com/entry/2017/07/30/100000)

# 属性

## パラメータ

1. [private 変数やプロパティを Inspector に表示する「ShowInInspector」属性](http://baba-s.hatenablog.com/entry/2017/07/30/140000)
1. [パラメータの内容を編集不可能な文字列で表示する「DisplayAsString」属性](http://baba-s.hatenablog.com/entry/2017/08/01/140000)
1. [アタッチされているコンポーネントやアセットのプロパティを表示する「InlineEditor」属性](http://baba-s.hatenablog.com/entry/2017/07/30/180000)
1. [パラメータを編集不可能にする「ReadOnly」属性](http://baba-s.hatenablog.com/entry/2017/07/26/140000)
1. [意図しない値が設定されたらエラーメッセージを表示する「ValidateInput」属性](http://baba-s.hatenablog.com/entry/2017/08/01/120000)
1. [値が変更された時に呼び出されるコールバック関数を設定できる「OnValueChanged」属性](http://baba-s.hatenablog.com/entry/2017/07/26/180000)
1. [カラーパレットから色を指定できるようになる「ColorPalette」属性](http://baba-s.hatenablog.com/entry/2017/07/26/100000)
1. [クラスや構造体のパラメータを折りたたみ無しで表示する「InlineProperty」属性](http://baba-s.hatenablog.com/entry/2017/08/04/113000)

## オブジェクト

1. [Project 内のアセットや、Scene 上のオブジェクトやコンポーネントのみをアタッチ可能にする「AssetsOnly」「SceneObjectsOnly」属性](http://baba-s.hatenablog.com/entry/2017/08/01/100000)
1. [参照が設定されていない時にエラーメッセージを表示する「Required」属性](http://baba-s.hatenablog.com/entry/2017/07/20/180000)

## プレハブ

1. [プレハブの値を非表示にする「HideInPrefabs」属性](http://baba-s.hatenablog.com/entry/2017/08/03/113000)
1. [プレハブの値を編集不可にする「DisableInPrefabs」属性](http://baba-s.hatenablog.com/entry/2017/08/03/110000)
1. [Hierarchy ビューのプレハブの値を非表示にする「HideInPrefabInstances」属性](http://baba-s.hatenablog.com/entry/2017/08/03/120000)
1. [Hierarchy ビューのプレハブの値を編集不可にする「DisableInPrefabInstances」属性](http://baba-s.hatenablog.com/entry/2017/08/03/123000)
1. [Project ビューのプレハブの値を非表示にする「HideInPrefabAssets」属性](http://baba-s.hatenablog.com/entry/2017/08/03/130000)
1. [Project ビューのプレハブの値を編集不可にする「DisableInPrefabAssets」属性](http://baba-s.hatenablog.com/entry/2017/08/03/133000)
1. [プレハブではないオブジェクトの値を非表示にする「HideInNonPrefabs」属性](http://baba-s.hatenablog.com/entry/2017/08/03/140000)
1. [プレハブではないオブジェクトの値を編集不可にする「DisableInNonPrefabs」属性](http://baba-s.hatenablog.com/entry/2017/08/03/140000_1)
1. [（非推奨）プレハブのインスタンスで値を閲覧不可能にする「ShowForPrefabOnly」属性](http://baba-s.hatenablog.com/entry/2017/08/02/200000)
1. [（非推奨）プレハブのインスタンスで値を編集不可能にする「EnableForPrefabOnly」属性](http://baba-s.hatenablog.com/entry/2017/08/02/200000_1)

## 数値

1. [最小値と最大値の範囲を設定できる「MinMaxSlider」属性](http://baba-s.hatenablog.com/entry/2017/08/01/160000)
1. [設定できる値を制限できる「MinValue」「MaxValue」属性](http://baba-s.hatenablog.com/entry/2017/08/01/180000)
1. [設定された値をラップアラウンドする「Wrap」属性](http://baba-s.hatenablog.com/entry/2017/08/02/160000)

## ボタン

1. [Inspector にボタンを表示する「Button」属性](http://baba-s.hatenablog.com/entry/2017/07/24/100000)
1. [パラメータの横にボタンを表示する「InlineButton」属性](http://baba-s.hatenablog.com/entry/2017/07/24/140000)
1. [ボタンをグループ化して表示する「ButtonGroup」属性](http://baba-s.hatenablog.com/entry/2017/07/24/180000)

## グループ

1. [パラメータをグループ分けする「BoxGroup」属性](http://baba-s.hatenablog.com/entry/2017/07/21/140000)
1. [パラメータをタブでグループ分けする「TabGroup」属性](http://baba-s.hatenablog.com/entry/2017/07/21/180000)
1. [トグル付きのグループに分ける「ToggleGroup」「Toggle」属性](http://baba-s.hatenablog.com/entry/2017/07/22/210000)
1. [パラメータを水平方向のグループに分ける「HorizontalGroup」属性](http://baba-s.hatenablog.com/entry/2017/07/22/213000)
1. [パラメータを垂直方向のグループに分ける「VerticalGroup」属性](http://baba-s.hatenablog.com/entry/2017/08/04/130000)
1. [パラメータを開閉可能なグループに分ける「FoldoutGroup」属性](http://baba-s.hatenablog.com/entry/2017/07/22/220000)
1. [パラメータをタイトル付きのグループに分ける「TitleGroup」属性](http://baba-s.hatenablog.com/entry/2017/07/23/100000)

#### 非表示、無効化

1. [条件を満たしているかどうかで項目を編集できるようにする「EnableIf」「DisableIf」属性](http://baba-s.hatenablog.com/entry/2017/07/28/100000)
1. [ゲームを実行しているかどうかで項目を編集できるようにする「DisableInPlayMode」「DisableInEditorMode」属性](http://baba-s.hatenablog.com/entry/2017/07/28/180000)
1. [条件を満たしているかどうかで項目を表示するかを変更できる「ShowIf」「HideIf」属性](http://baba-s.hatenablog.com/entry/2017/07/28/140000)
1. [ゲームを実行しているかどうかで項目を非表示にする「HideInPlayMode」「HideInEditorMode」属性](http://baba-s.hatenablog.com/entry/2017/07/31/180000)

## メッセージ

1. [インフォメーションを表示する「InfoBox」属性](http://baba-s.hatenablog.com/entry/2017/07/29/100000)
1. [詳細な説明文付きでインフォメーションを表示する「DetailedInfoBox」属性](http://baba-s.hatenablog.com/entry/2017/07/29/140000)
1. [Inspector に見出しを表示する「Title」属性](http://baba-s.hatenablog.com/entry/2017/07/23/140000)
1. [ラベルの文言を変更する「LabelText」属性](http://baba-s.hatenablog.com/entry/2017/07/31/160000)
1. [ラベルを非表示にする「HideLabel」属性](http://baba-s.hatenablog.com/entry/2017/07/31/120000)
1. [ラベルの幅を調整する「LabelWidth」属性](http://baba-s.hatenablog.com/entry/2017/08/04/123000)
1. [変数やプロパティにカーソルを重ねた時にヒントを表示する「PropertyTooltip」属性](http://baba-s.hatenablog.com/entry/2017/08/02/120000)

#### GUI

1. [インデントを設定できる「Indent」属性](http://baba-s.hatenablog.com/entry/2017/07/29/180000)
1. [文字列を複数行表示できる「MultiLineProperty」属性](http://baba-s.hatenablog.com/entry/2017/08/01/200000)
1. [変数ごとのコンテキストメニューに項目を追加する「CustomContextMenu」属性](http://baba-s.hatenablog.com/entry/2017/07/27/140000)
1. [変数ごとのコンテキストメニューを無効化する「DisableContextMenu」属性](http://baba-s.hatenablog.com/entry/2017/07/27/180000)
1. [パラメータの表示順を変更できる「PropertyOrder」属性](http://baba-s.hatenablog.com/entry/2017/07/31/140000)
1. [列挙型をプルダウンではなくボタンで選択できるようになる「EnumToggleButtons」属性](http://baba-s.hatenablog.com/entry/2017/07/21/100000)
1. [ドロップダウンメニューからパラメータを設定できるようになる「ValueDropdown」属性](http://baba-s.hatenablog.com/entry/2017/07/23/180000)
1. [bool 値のチェックボックスを変数名の左側に表示する「ToggleLeft」属性](http://baba-s.hatenablog.com/entry/2017/08/02/140000)
1. [GUI に色を設定できる「GUIColor」属性](http://baba-s.hatenablog.com/entry/2017/08/02/100000)
1. [GUI を拡張する「OnInspectorGUI」属性](http://baba-s.hatenablog.com/entry/2017/08/02/180000)
1. [配列やリストの表示を調整する「ListDrawerSettings」属性](http://baba-s.hatenablog.com/entry/2017/07/31/100000)
1. [Dictionary の表示を調整する「DictionaryDrawerSettings」属性](http://baba-s.hatenablog.com/entry/2017/08/04/120000)

# 最後に

ここで紹介した以外にも
「Odin - Inspector and Serializer」には機能が用意されています
ぜひ公式のドキュメントやデモも参照して頂ければと思います