インスタンスのオーバーライド値は、それが定義されているシーンまたはプレハブにデータとして保存されます。しかし、オーバーライドのターゲットオブジェクトが無効であるか、または その プロパティパス が不明な場合、オーバーライドは “unused” (未使用) になります。この場合、データは未使用になります。それでも、シーンファイルに保存されてますが、余剰となります。
たとえば、プレハブにアタッチされた スクリプト の public フィールド の値をオーバーライドしてから、そのスクリプトを削除すると、オーバーライド値を含むデータは、もはや存在しないオブジェクトを対象としているため、未使用になります。
また、public フィールドの定義を削除したり、名前を変更したりすると、オーバーライドデータも未使用になります。なぜなら、たとえ、コンポーネントオブジェクトそのものがまだ存在していたとしても、プロパティパス は保存されたデータと一致しなくなるためです。
Unityでは、未使用のオーバーライドデータを自動的に削除しないため、削除したスクリプトまたはフィールド定義を復元すると、そのオーバーライドデータが再び使用されるようになり、以前のようにオーバーライドとして適用されます。
未使用のオーバーライドデータを保持したくない場合は Inspector の Overrides メニューを使うか、Hierarchy ウィンドウのコンテキストメニューから削除できます。削除には未使用のオーバーライドがすべて含まれ、Unity は削除された内容の詳細を エディターログ に書き込みます。
Unity エディターは、未使用のデータをクリーンアップする時期やクリーンアップする必要があるかどうかを自動的に判断できません。なぜなら、データが参照するオブジェクトやプロパティを一時的または偶発的に移動した可能性があり、後で元に戻す可能性があるからです。不要になった未使用のオーバーライドデータを削除することは、シーンファイルに有用なデータのみが含まれていることを意味し、バージョン管理とコラボレーションがより簡単になるため、効率的な実施と言えます。
ノート: FormerlySerializedAsAttribute を使用することによって、pulic フィールドの名前を変更し、関連するオーバーライド値を保持することができます。
Inspector を使用して未使用のオーバーライドを確認し削除するには、以下を行います。
ノート: unused overrides パネルは複数選択をサポートし、未使用オーバーライドの総数と影響を受けるインスタンスの数を表示します。ただし、以下の例のように、最大 3 つの未使用オーバーライドのフィールド名、ゲームオブジェクト名、値のみが表示されます。
未使用のインスタンスオーバーライドを確認し、Hierarchy ウィンドウから削除するには、以下を行います。
ノート: 個々のゲームオブジェクトではなく、階層内のシーン名を右クリックすることで、シーン全体の未使用オーバーライドをすべて削除することができます。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.