Unityで何回やり直しても「Can’t add script」というエラーが出るんだけど!泣
どうも、Linです。銭湯で茹で上がりたいです。
Unityでオブジェクトにスクリプトをアタッチしようとすると、

Can’t add script
という怖くて意味不明なエラーが出現しました。

エラーの詳細を読んでみても、
Can’t add script component ‘sample’ because the script class cannot be found. Make sure that there are no compile errors and that the file name and class name match.
さっぱりなんのことだかわかりません笑
どうしたらいいかわからず質問できる友もいませんでしたのでググってみると、
スクリプト内のクラス名と、スクリプト名が異なること
が原因だということがうっすらとわかってきました。
【参考にしたサイト】
どのサイトも口を揃えて唱えていた対処法は、
アタッチしたいC#ファイルのクラス名をファイル名と同じにする
です。
ぼくもこれで一発でエラーが解消しました。
C#ファイル名は「Sample.cs」でした。
エラーが出たのは下のようなコード。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class NewBehaviourScript : MonoBehaviour { public Text text; // Use this for initialization void Start () { } // Update is called once per frame void Update () { } } |
こいつを、
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Sample : MonoBehaviour { public Text text; // Use this for initialization void Start () { } // Update is called once per frame void Update () { } } |
に変えるだけオッケーでした。
つまり、
NewBehaviorScript
というクラス名をC#スクリプト同じ、
Sample
に変更してあげているわけです。
「Can’t add script」という謎のエラーでお困りの方はクラス名をチェックしてみてくださいね。
それでは!
Lin

おそらく、ブロガー。現在ホテル暮らしで全国フラフラしています。
ネット広告代理店に1年3ヶ月勤め上げ、独立をして丸4年が経ちました。今年でフリーランス 5年目。
質問・ご意見・相談があればLINEで受け付けていますのでお気軽にどうぞ 。
本当にありがとうございます。
2日間悩んでたのが簡単に解決して驚きです
ぼくも最初沼にはまってました!笑
お役に立てて嬉しいです^^
自分もはじめ、この件で全然上手く行かなくてうなっていました。
スクリプトファイルの名前が変わったらクラス名も自動で変わるものだとばかり思い込んでいました。
というか、いずれそうなって欲しい。
たしかに!!
直りました。
ありがとうございました。
直りました!
本当に感謝します!
おお!よかったです!!
ありがとうございます!おかげで治りました!!
よかったですー!
unity初心者なのですが、どこでc#のファイル名を確認できるのでしょうか?初心者中の初心者の質問ですが、答えていただければ幸いです。
Assetsフォルダの中のScriptsにスクリプトが入ってるかもですね!
class名があっているのにそのエラーが出る…
Unityを再起動するとできるっぽいですね
ずっと作業し続けてると割とよくあるけど、大概UnityとVisualStadio再起動して編集しなおすとちゃんと動くと思います。
他にも割とよくある不具合がいくつかありますが、だいたいこれで直ります。
ありがとうございます。ありがとうございます。
これでも解決しません…
公式のスタンダードセットですら同様のエラーが出ました。
それな、一体どうなってんだ…