Unityの自作クラスでclassの拡張メソッドであるDeepCopy()をしようとしたらエラーが出る(自分用メモ)
結論
Unityの"ScriptableObject"などは[Serializable]でないため、それらを継承したクラスはDeepCopy()できない。
DeepCopy()って?
このサイトのように、DeepCopy()をC#に実装することで、簡単にクラスのディープコピーができるようになる。ただし、ディープコピーするクラスに[System.Serializable]を付与しなければならない。
対策
"ScriptableObject", "MonoBehaviour"などを継承しない。
継承が必要な場合、自分でディープコピーをクラスごとに設定する。
楽ができると思ったのに……
この記事が気に入ったらサポートをしてみませんか?