5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

UnityでMissing Scriptを一括検出&削除できるEditor拡張を作りました

Posted at

UnityでMissing Scriptを一括検出&削除できるEditor拡張を作りました

Unityでプロジェクトを触っていると、Inspectorに None (Mono Script) と表示される現象に遭遇したことはありませんか?

Inspectorに表示されたMissing Scriptの例

この状態のGameObjectは、

  • プレハブ化ができない
  • どのGameObjectに残っているか分かりづらい
  • 手作業で探して削除するのが面倒

といった非常に困った状況になります。
これはスクリプトファイルを削除・移動した際に参照が切れて発生し、さまざまな問題を引き起こします。

そこで、指定したGameObject配下のMissing Scriptを一括で検出&削除できるUnity Editor拡張「Missing Script Detector」を作成しました。

機能概要

  • 対象GameObject配下のすべてのMissing Scriptを検出
  • 検出結果を一覧表示
  • 個別または一括で削除
  • 削除前に確認ダイアログ表示(安全設計)

インストール方法

OpenUPM経由でインストールできます。

# openupm-cli をインストール
npm install -g openupm-cli

# Unityプロジェクトディレクトリに移動
cd YOUR_UNITY_PROJECT_DIR

# パッケージを追加
openupm add com.segur.missing-script-detector

OpenUPMを利用しない場合は、以下のGitHubリポジトリからソースコードを直接入手できます。

使い方

  1. Unityのメニューバーから Tools > Missing Script Detector を選択すると、以下のウィンドウが開きます。

Missing Script Detectorウィンドウ

  1. Target GameObject に対象のGameObjectを指定し、Search MissingScript ボタンをクリックしてください。
  2. 配下のGameObjectを探索し、Missing Scriptがあれば以下のように一覧表示されます。

検索結果表示例

各ボタンの機能は以下の通りです。

  • Select ボタン:該当のGameObjectをHierarchyで選択
  • Remove ボタン:対象のMissing Scriptを削除
  • Remove All MissingScript ボタン:検出された全てを一括削除

注意事項

  • 削除は元に戻せません(必ず確認ダイアログで確認)
  • Unity 2022.3以降に対応

さいごに

プロジェクトに潜むMissing Scriptをスッキリ一掃して、快適なUnityライフを送りましょう!

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?