コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】シーンの構成に不正がないかどうか確認できる「Extensible scene validator for Unity3D」紹介

はじめに

「Extensible scene validator for Unity3D」を Unity プロジェクトに導入することで
シーンの構成に不正がないかどうか確認できるようになります

使い方

using SceneValidation;
using UnityEngine;
using UnityEngine.EventSystems;

// 対象のシーンファイルのパスを SceneValidator 属性で指定
[SceneValidator( "Assets/Example.unity" )]
public class Example
{
    // テスト名と関数を ValidationMethod 属性で指定
    [ValidationMethod( "EventSystem が存在するかどうか" )]
    public bool ValidateHasEventSystem()
    {
        return Object.FindObjectOfType<EventSystem>() != null;
    }

    [ValidationMethod( "Camera が存在するかどうか" )]
    public bool ValidateHasCamera()
    {
        return Object.FindObjectOfType<Camera>() != null;
    }
}

上記のようなスクリプトを Unity プロジェクトの「Editor」フォルダに追加して

f:id:baba_s:20181223105447p:plain

Unity メニューの「Scene Validator>Show Window」を選択して

f:id:baba_s:20181223105449p:plain

「Validate All」を選択すると

f:id:baba_s:20181223105452p:plain

シーンの構成が最初に定義した通りになっているかどうかが確認できます