はじめに
「Odin Project Validator」は「Odin Inspector」と連携して使用できる検証ツールです
Unity 再生時、ビルド時、Unity プロジェクト起動時に
シーン内のゲームオブジェクトにアタッチされているコンポーネントや
ScriptableObject などのアセットに含まれている警告やエラーなどの問題を検出できます
もちろん、手動で問題を検出することも可能です
Asset Store ではなく公式サイトから購入できます
基本的な使い方
手動で検出
Unity メニューの「Tools > Odin Project Validator」を選択します
表示されたウィンドウで、問題を検出する対象を選択します
項目 | 内容 |
---|---|
Scan Entire Project | Unity プロジェクト全体 |
Scan All Assets | すべてのアセット |
Scan All Scenes | すべてのシーン |
Scan Open Scene | 現在開いているシーン |
Scan Senes From Build Options | Build Settings で設定されているシーン |
using Sirenix.OdinInspector; using UnityEngine; public class MyComponent : MonoBehaviour { [Required] public string m_text; [Required] public GameObject m_prefab; [ValidateInput( "@m_power <= 100", "Power は 100 以下にしてください" )] public int m_power; }
例えば、上記のように Odin Inspector の
「Required」「ValidateInput」などの属性を使用したスクリプトを作成して
現在開いているシーンのゲームオブジェクトに設定したものの、
正しくパラメータを設定していない場合に
先ほどのウィンドウで「Scan Open Scene」を選択して
「Run Scan Open Scenes」を選択すると
問題のあるコンポーネントの一覧がリストアップされます
コンポーネントを選択すると、その場で問題を修正することができます
自動で検出
先ほどのウィンドウで「Automate Validation」を選択すると
Unity 再生時、ビルド時、Unity プロジェクト起動時に
自動で問題を検出するかどうかを設定できます
項目 | 内容 |
---|---|
On Play | Unity 再生時 |
On Build | ビルド時 |
On Project Startup | Unity プロジェクト起動時 |
各項目を開いて、
「Actions」の項目を変更すると、問題が検出された場合にどうするかを設定できます
項目 | 内容 |
---|---|
None | 問題が見つかっても何もしない |
Open Validator If Error | エラーが見つかったらこのウィンドウを開く |
Open Validator If Warning | 警告が見つかったらこのウィンドウを開く |
Stop Hook Event On Error | エラーが見つかったら操作をキャンセルする |
Stop Hook Event On Warning | 警告が見つかったら操作をキャンセルする |
Log Error | エラーが見つかったらログに出力する |
Log Warning | 警告が見つかったらログに出力する |
この機能を使用することで、ゲームオブジェクトのコンポーネントや
ScriptableObject などのアセットに警告やエラーが含まれたまま
Unity を再生したりビルドしたりしてしまう問題を防ぐことができます