お世話になっております。
しゃまとんです。

タイトルの通りなのですが、クラス内に定義した内部クラスや構造体をインスペクタに表示して、色々調整した場合があると思います。

上記の場合[System.Serializable]と[SerializableField]を利用すれば問題なく表示されます。
これに加えて、親クラス(基底クラス)でジェネリックを利用しつつ内部クラスを定義して小クラスからインスペクタ上で操作したいと思い下記みたいな感じにしました。

using UnityEngine;
using System.Collections;

public class TestParent<T> : MonoBehaviour where T : MonoBehaviour {
  static public T instance;

  [System.Serializable]
  public struct TestInnerParent {
    public int   hoge;
    public float fuga;
  }

  [SerializeField]
  private TestInnerParent innerValue;

  // シングルトンにする処理...
}
using UnityEngine;
using System.Collections;

public class TestChild : TestParent<TestChild> {
  public int childHoge;
  public int childFuga;
}

こうすると表示されなくなってしまいました。

https://gyazo.com/df3eb5de6e8824aeaffe28673f552f4e

どうしても表示したい場合は内部クラスを外に出せば表示できるようです。

using UnityEngine;
using System.Collections;

public class TestParent<T> : MonoBehaviour where T : MonoBehaviour {
  static public T instance;

  [SerializeField]
  private TestInnerParent innerValue;

  // シングルトンにする処理...
}

[System.Serializable]
public struct TestInnerParent {
  public int   hoge;
  public float fuga;
}

これで表示されます。

https://gyazo.com/da588e9bbab7c83d47598c8b7fcc41e4

他の方も書かれていますが、ジェネリック周りはちとうまくいかないのですね。
以上です。

■参考