tanaka's Programming Memo

プログラミングについてのメモ。

【Unity】WebGLでA scripted object (script unknown or not yet loaded) has a different serialization layout when loading.とかいうエラー

WebGLで実行する時に以下のようなエラーが出て、正常に動作しないことがありました。

A scripted object (script unknown or not yet loaded) has a different serialization layout when loading. (Read 52 bytes but expected 92 bytes)
Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts? 

この時の原因はScriptableObjectの作成ミスでした。ScriptableObjectのクラスを他のクラスの中に含めていると、アセットからクラスが参照できずに地味に不具合が出ます。スクリプトファイルのところが正しく表示されていなければ多分これが原因です。

ScriptableObject用にスクリプトファイルを作り直したのはよかったのですが、ScriptableObjectのアセットを作り直さないといけないのを忘れていたのが今回のエラーの原因でした。アセットを作り直すことで解消しました。