【Unity】The associated script cannot be loadedがなおらない
Scriptの編集をし、いざ実行!と三角形を押してみると、
All compiler erros have to be fixed before you can enter playmode!
と、よく見る文言が出現。
あれ~、どこかで文法ミスってるかな~とコンソールを見るもメッセージ無し。
なにゆえ?
ふと、Hierarchyビューのオブジェクトを見ると、Scriptの欄がこんなことに。
どういうこと?と早速エラーメッセージで検索開始。
同じ状況になっている人は複数見つかったものの、質問だけ投げられてるフォーラムの投稿が多数。明確な解決法は得られず。
解決したという人も、イマイチ原因は見つけられていないっぽかった。
とりあえずPCごと再起をかけるも、反応変わらず。
Unityのアップデートをして、リトライ。ダメ。
新規プロジェクトを作って、同一スクリプトをそちらに置いて実行。ダメ。
一旦エクスポートし、再度インポート。ダメ。
仕方ないので、スクリプトを点検していく。
Unity上の自分で作ったスクリプトをバックアップ保存し、全削除。
一つずつUnityに再度入れては実行を押し、原因になっているスクリプトを捜す。
最終的に、18個中7個のスクリプトが、Unityに存在すると実行不能になるようだった。
新規に同名のスクリプトファイルを作って、コードだけコピペしてみるも動かない。
通常のコンパイルエラーは出るのかふと気になって、適当な行にaaaaaaと入力して実行。このエラーのメッセージは出力されず、従来と同じ無言のエラー表示。
その後発狂しかけてところ構わずインポートしたり文字打ったりしていたら、何故か直っていた。
あ、ありのまま今起こった(AA略)
何が原因か結局わからずじまい。
オブジェクトのスクリプトコンポーネントは消失し、Unity上でスクリプトのpublic変数に設定していた値は消え失せ、復旧に相当時間が掛かった。
とりあえず動くようにはなったから良かったものの、本当に何だったんだ……。
一人の開発でもGitちゃんと使うべきだなあと痛感した夜でしたとさ。
一応参考
Unity crashed, then alll scripts can't be loaded - Unity Answers
General problem with scripts: The associated script cannot be loaded