MissingScriptを探す
Unity GemsでMissingScriptを修正する プログラムが公開されていてその翻訳。
missing経験したことがある人にとっては夢の様なプログラム。
Missing Scriptsエラーの解消(前編)
http://gamesonytablet.blogspot.jp/2013/03/missing-scripts.html
Missing Scriptsエラーの解消(後編)
http://gamesonytablet.blogspot.jp/2013/03/missing-scripts_17.html
コレを参考にmissingを修正はせずにMissing Scriptが存在するゲームオブジェクトを抽出するだけにしてみた。
using UnityEditor; using UnityEngine; using System.Collections; using System.Collections.Generic; using System.Linq; [InitializeOnLoad] class MissingScriptChecker : Editor { [MenuItem("GameObject/Missing Script Checker")] static void MissingScriptCheckerFunction() { StartCheck(); } static MissingScriptChecker() { if (EditorApplication.isPlaying || Application.isPlaying) return; StartCheck(); } static void StartCheck() { Debug.Log("Run MissingScriptChecker"); ListbrokenList = // 全てのゲームオブジェクトを見つける Resources.FindObjectsOfTypeAll(typeof(GameObject)) .Cast () // 各々のオブジェクトをチェック .Where( // 全てのコンポーネントを取得 c => c.GetComponents () // null を戻すものごあるか確認 .Any(o => o == null) ) .ToList(); foreach (GameObject gobj in brokenList) Debug.LogError(gobj.name, gobj); } }