コガネブログ

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

【Unity】Missing Prefab かどうか確認する方法

概要

using UnityEditor;
using UnityEngine;

public static class Example
{
    [MenuItem( "Tools/Hoge" )]
    private static void Hoge()
    {
        var go        = Selection.activeGameObject;
        var status    = PrefabUtility.GetPrefabInstanceStatus( go );
        var isMissing = status == PrefabInstanceStatus.MissingAsset;

        Debug.Log( isMissing );
    }
}

上記のように PrefabUtility.GetPrefabInstanceStatus を使用することで

f:id:baba_s:20190324143258p:plain

ゲームオブジェクトが Missing Prefab になっているかどうか確認できます