この記事でのバージョン
Unity 2021.1.16f1
はじめに
今回は元のスクリプトファイルが無くなり、
Missing (Mono Script)となったコンポーネントをプログラムで削除する方法の紹介です!
RemoveMonoBehavioursWithMissingScript
さっそくですが、Missing (Mono Script)となったコンポーネントはGameObjectUtilityの
RemoveMonoBehavioursWithMissingScriptを使うと簡単に削除する事が出来ます。
使い方は簡単、Missingなコンポーネントを削除したいGameObjectを渡すだけ。
ちなみに返り値で削除したコンポーネントの数を取得出来ます。
//GameObjectUtilityを使うのに必要(※エディタ上でしか使えない) using UnityEditor;
//Missing (Mono Script)となったコンポーネントを削除(ContextMenuを付ける事でInspectorから実行可能) [ContextMenu("RemoveMonoBehavioursWithMissingScript")] private void RemoveMonoBehavioursWithMissingScript() { //Missing (Mono Script)となったコンポーネントを削除し、削除数を取得 var removedCount = GameObjectUtility.RemoveMonoBehavioursWithMissingScript(gameObject); //削除した数をログで表示 Debug.Log($"{removedCount}個のmissingなコンポーネントを削除しました"); }