Unitでオブジェクトに作りたてのC#Scriptをアタッチすると
Can't Add Script - Add Script Component "***"
と表示されてアタッチできない事がある
いくつか要因があるようで、まとめる。
※関係ないものもあるかもしれませんがご容赦を。
私の場合はおそらく3,4,5,6,7が原因でした
1.ファイル名とクラス名が異なる場合
ファイル名がTestの場合、クラス名もTestにする必要がある。(ファイルをリネームした場合クラス名に反映されない。逆もしかり)
<参考資料>
https://freesworder.net/unity-cant-add-script/
2.Unity Hubのバグ
<参考資料>
https://teratail.com/questions/229361
3.Visual Studio に「Unityによるゲーム開発」
がインストールされていない
<参考資料>
http://www.code-magagine.com/?p=3854
4.Visual Studioが最新バージョンでない
<参考資料>
http://www.code-magagine.com/?p=3854
5.デバッガ(Visual Studio)がUnityにアタッチされていない
下記手順で解決することがある
①スクリプトをダブルクリックし、Visual Studioを起動
②メニューバー→デバッガ→Unityデバッガのアタッチを選択
③ウィンドウが開くので該当するUnityのインスタンスを選択
<参考資料>
http://www.code-magagine.com/?p=3854
6.Standard Assetsをインポートしている場合
Visual Studioでビルドすると「GUITextが旧形式です」と表示される場合はこれに該当する
SimpleActivatorMenu.cs内に
using UnityEngine.UI;を追加
GUIText→Textに書き換える
<参考資料>
https://connect.unity.com/p/standard-assets-guitexture-and-guitext-are-obsolete
7.上記を実施した上で再起動
最後はUnityとVIsual Studioを再起動したところでビルドが通り解決しました