こんにちわ、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が犯人だということを教えてくれるので、全文検索してそれっぽい箇所を修正すれば良いかと思います。

以上

👉 オススメ記事

2021秋 Asset Refreshセール
100以上のアセットがなんと50%OFF!!オオバもいくつか買いました!
期間 : 10月2日午後3時59分まで

👩‍💻 検証環境