1. ホーム
  2. c#

[解決済み】スクリプトクラスが見つからないので、スクリプトコンポーネントを追加できない?

2022-01-20 11:58:49

質問

昨日、unityをunity5から2018.2.2f1へアップデートしました。Update 2018.2.2f1以降、unityのスクリプトが読み込まれない。

シーンを再生しようとすると、スクリプトが読み込まれず、再度スクリプトを追加してもこのエラーになります。

スクリプトコンポーネント 'CubeScript' がスクリプトクラスであるため、追加できません。 が見つかりません。コンパイルエラーがないこと、そして ファイル名とクラス名が一致します。

解決方法は?

古いプロジェクトがまだ残っている場合は、Unityプロジェクトをアップグレードして ユニティ2017 に変更し、次に 2018.2.2f1 .

以下は、このエラーが発生する可能性のあるいくつかの理由です(可能性の高いものから順に並べています)。

1 .Script名がクラス名と一致しません。

スクリプト名が MyClass の場合、クラス名は MyClass . これも大文字と小文字が区別されます。ダブルチェックで問題ないことを確認してください。これが問題でないことを確認するために、クラス名をコピーして、スクリプト名として貼り付けてください。

1つのスクリプトに複数のクラスがある場合、スクリプト名と一致するクラスは、以下のクラスから派生したクラスであることに注意してください。 MonoBehaviour .


2 .あなたのスクリプトにエラーがあります。これはアップグレードなので、現在では非推奨で削除されたAPIを使用している可能性があります。Visual Studioでスクリプトを開き、エラーがあるかどうかを確認し、修正してください。通常、コードの下に赤い線が表示され、エラーがあることを示します。


3 .Unityインポーターとその自動アップグレードスクリプトでのインポートが悪い。

試してみたいこと

A .まず、Unity Editorを再起動します。

B .プロジェクトタブを右クリックし すべて再インポートします。

C .それでも問題がある場合は、問題のあるスクリプトを削除し、新しいスクリプトを作成するしかありません。スクリプトがシーン内の多くのGameObjectに添付されている場合、より簡単な方法があります。

A .スクリプトを開き、その内容をメモ帳にコピーします。

B .エディターからと プロジェクト タブでスクリプトを右クリックし、[CubeScript"] を選択します。 シーン内の参照を検索する" .

C .Unityは、このスクリプトが添付されているすべてのGameObjectのみを表示するようになりました。古いスクリプトを削除してください。新しいスクリプトを作成し、メモ帳からこの新しいスクリプトに内容をコピーします。あとは、この新しいスクリプトを、シーン内のフィルタリングされたGameObject全てにドラッグすればOKです。この作業を、影響を受けるすべてのスクリプトに対して行います。これは手作業ですが、完了すれば問題は解決するはずです。