【Unity】MonoScript is registered as both Editor and Runtime script! というエラーについて

はじめに

何の前触れもなく次のようなエラーが出ることがありました。

MonoScript is registered as both Editor and Runtime script!

エラーの原因

  • Unityの内部では、どのスクリプトがエディタスクリプトで、どのスクリプトがランタイムスクリプトであるかを記憶するキャッシュがある
  • 同じスクリプトがランタイムキャッシュとエディタキャッシュの両方に存在するせいで起こるバグがある。(このバグはエディタとランタイムアセンブリ間でスクリプトを移動する際に発生する)
  • そのバグが起こるのはどのようなケースかを調べるためにこのエラーが存在する

解決法

エディタを再起動する。(エディタを再起動するとキャッシュが再構築されるため)

参考