LoginSignup
5
9

More than 5 years have passed since last update.

[Unity]"Can't add script behavior XXXX.The script needs to derive from MonoBehaviour"の改善方法4つ

Posted at

背景

3年弱ぶりにUnityを触った初心者です。
間違いがあったらご指摘いただければありがたいです。

事象

オブジェクトに対してスクリプトをアタッチしようとしたときに、下記のメッセージがポップアップで表示されることがあります。

error_message.png

環境

  • Windows 10
  • Unity 2018.2.19

1. ファイル名とクラス名が一致していない

これが一番起こりやすい事象です。
下記イメージでは、命名を誤ってしまい「Shooter.cs.cs」というファイル名で、クラス名は「Shooter」としています。

scripts.png

この場合、ファイル名「Shooter.cs」に変更することで、アタッチすることが出来るようになります。

2. コードの中に全角スペースがある

スクリプトファイルのコード内に全角スペースがあると、発生することがあります。
全角スペースがないか確認し、存在する場合は半角スペースに置換しましょう。

3. Reimport Allする

ファイル名とクラスが一致している、コード内に全角スペースがないにもかかわらず、
正常にアタッチできない場合は、Reimport Allを試してみましょう。
Projectから右クリックして、下から5番目くらいにあります。

reimport.png

言葉の通り、プロジェクトを1からインポートしてくれます。

4. Unityのバージョンを変更する

Unity Issue Tracker - [2018.1] 'Can't add script behaviour VisualContainerAsset' error when adding script to GO with mismatched file and class name
のように、もしかしたらUnityのバグかもしれません。

最新バージョンを使用していない場合は、アップデートをしてみましょう。

終わりに(雑記)

学生時代に触って以来、Unityを触りました。
当時はUnity 4系を使っていました。
uGUIが追加されて、「なにこれすごい」って1人テンション上がっていたことを思い出します。

3年くらいたって、ちょっと知らない設定とか増えていましたが、UIは当時のままで安心しました。
当時は、UnityとVisual Studioでたまに固まってしまっていましたが、今はかなりサクサクでした。
(自分のPCスペックが上がった影響なだけかもしれませんが…)

あと、昔Unity 4系で作ったProjectをImportしたら、エラー吐きまくって悲しくなりました。

5
9
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
9