動作確認:Unity2017.1.1p1 (64bit)
普通にインスペクタに出るようにするのが面倒なこともあるかもしれない(いやないか?)。
そこでSerializedObject
を使う。
// objは適当なUnityオブジェクト
var space = 12; // 値は適当に
var serialized = new SerializedObject(obj);
var iter = serialized.GetIterator();
while (iter.Next(true))
{
GUILayout.BeginHorizontal();
GUILayout.Space(space * iter.depth);
EditorGUILayout.PropertyField(iter);
GUILayout.EndHorizontal();
}
文字列に配列が付いてきたりするものの、それっぽいものができる。