見出し

[Unity 5.3.5]コードに全角スペースが含まれるとAll compiler errors have to be fixed before you can enter playmode.しか出なかった

この記事はプログラムの文法的なエラーがまったくない場合にもかかわらず、エラーが消えない場合の記事です。
大したことではないんですが、備忘録的に書いておこうかと。

結論

コード内に全角スペースが紛れていたことが原因でした。
vsではビルドやデバッグが通ってしまうので気づけませんでした・・・

エラー内容など

環境はUnity 5.3.5, Visual Studio 2015です。
出たエラーはこちら

All compiler errors have to be fixed before you can enter playmode

アタッチしたすべてのC#スクリプトでも以下のエラーが。

The associated script can not be loaded. please fix any compile errors and assign a valid script.

もし直前に編集したファイルのみでこれが表示されているのなら問題探しも楽なんですが、全部のファイルで発生、と言われるととてもじゃないですが探しきれません。
変数のスペルミスとかセミコロンのつけ忘れ等も疑ったのですが解決しません。
果てはスクリプトを打ちなおしたりプロジェクトを作り直したり再起動をしてみたり、いろいろ試したのですが一向に解決する気配がありません。

最初で書いたとおり、コード内に全角スペースが紛れていたことが原因でした。
どうやらUnityは全角スペースが入っていると全体の問題とみなして、どのファイルでエラーが発生しているのか教えてくれないようですね(つらい)

/995/images/2020-08-02-14-42-45.png
/995/images/2020-08-02-14-43-11.png

Visual Studioの場合 [編集]→[詳細]→[スペースの表示] 又は [Ctrl+R → Ctrl+W]で上の画像のようにスペースやタブを表示できます。
同じ問題で困っている方はダメ元で探してみるといいかもしれません・・・