サイトアイコン RのWeb制作

Unityで”Class” is missing the class attribute ‘ExtensionOfNativeClass’が発生する原因がわからない ⇒ Easy Save3でした

はじめに

通常、”Class” is missing the class attribute ‘ExtensionOfNativeClass’というエラーが出る場合は、【Unity】’【クラス名】’ is missing the class attribute ‘ExtensionOfNativeClass’!が発生するで解決できます。

ただ、Easy Save3が入ったプロジェクトであると原因がわからない。
「関連するスクリプトがアタッチされていないのに、なぜか当該エラーが発生する…」と。

原因

シーンにあるES3 ManagerのReferencesの中に、”Class”に関するデータが残る。

Editorから、当該SceneのES3 ManagerをRefreshしてもOptimizeしても何も変化がありません。これも原因といえばそう。私のイメージするRefreshは削除→再作成しないとできません。

対処方法

当該シーンにあるES3 Managerを削除し、再度作成します。

エラーの起こし方(例)

1. ES3 Managerを導入

2. Log(当該クラス)にScriptableObjectを継承して、test.Scene(当該シーン)のGameObjectにアタッチしたスクリプト(XXX.cs)にアタッチする。

Log.cs

public Log : ScriptableObject {
    ...
}

XXX.cs

public Log myLog;

3. ES3 ManagerにXXX.csをアタッチしたGameObjectが(勝手に)保存される

4. 設計変更をして、LogからScriptableObjectを外す。当然、XXX.csからもLogの記載を削除する。

Log.cs

public Log {
    ...
}

test.Scene(当該シーン)で、ES3 Manager内のReferencesにXXX.csのLogクラスの記載が残っているのでエラーが出る

“Log” is missing the class attribute ‘ExtensionOfNativeClass’

感想

Refreshって言ったらRefreshだと思うじゃん!!
意味わからんやろこれ…(´Д⊂ヽ

モバイルバージョンを終了