こんにちは、Unityエンジニアのオオバです。

The same field name is serialized multiple times in the class or its parent class. This is not supported: Base(MonoBehaviour) _hoge
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

エディタで実行中は問題なかったのですが、Android向けにビルドすると上記のエラーが出てしまったので対処してみます。

親子クラス内で同名シリアライズ指定するとダメ

C#という視点から見ると、親クラス、サブクラスで同名private変数を持つことは何ら問題はないのですが、Unity的な視点で見るとSerializeFieldアトリビュートをつけてしまうとよろしくありません。

// 親クラス  
class Parent : MonoBehaviour  
{
    [SerializeField] int _hoge;  
}


// 子クラス  
class Child : Parent  
{
    [SerializeField] int _hoge;  
}

上記のような状態はUnityはサポートしていないということです。

エラー個所を特定する

エラー文の中にThis is not supported: Base(MonoBehaviour) _hogeとフィールド名_hogeが犯人だということを教えてくれるので、全文検索してそれっぽい箇所を修正すれば良いかと思います。

以上

「Unity初心者大学」というUnity初心者向けのYouTube始めました!!
ぜひチャンネル登録をお願いします!

最後まで読んでいただきありがとうございました!
すばらしいUnityライフをお過ごしください。

オススメ記事
検証環境