こんにちわ、Unityエンジニアのオオバです。

オブジェクトの設定が正しいかどうかをチェックする方法を考えていて、見た目から分かるアプローチをやってみます。

お題は「SpriteRendererのSprite設定がnullのオブジェクトを分かりやすくする」です。

Hierarchy、Projectそれぞれ処理を書く

EditorApplicationの hierarchyWindowItemOnGUIprojectWindowItemOnGUI メソッドでそれぞれEditor拡張を書いていきます。

Hierarchyビューでの見え方

子階層のSpriteRendererのSpriteが1つでも未設定だったらリストを赤くするUnityのEditor拡張_29

Projectビューでの見え方

子階層のSpriteRendererのSpriteが1つでも未設定だったらリストを赤くするUnityのEditor拡張_33

Hierarchyビュー、ProjectビューそれぞれSpriteが外れていたら、うっすらですが背景が赤くなるようにしています。

全ソースはこちら
SpriteMissingChecker.cs · GitHub

最後に

static bool IsValid(GameObject go)  
{
    var arr = go.GetComponentsInChildren();  
    return arr.Any(x => x.sprite == null);  
}

IsValidの部分の条件を書き換えれば、使い回せます。
プロダクトの規模が大きくなればなるほどバリデーションやチェックツールは必要になってきます。
そんなときの手段の一つとして手元においておこうと思います。

👉 オススメ記事

2021秋 Asset Refreshセール
100以上のアセットがなんと50%OFF!!オオバもいくつか買いました!
期間 : 10月2日午後3時59分まで

👩‍💻 検証環境