title: Expose struct fields on CustomEditor
body: <p>I am using a struct to save all the tweakable variables and I am writing a customer editor for the designer to tweak them.</p>
  
  <p>Because the variable contained by the struct is always changing. So I am wondering if it is possible to expose a struct and its fields on a customer editor. </p>
  
  <p>To clarify me, here are some sample code.</p>
  
  <p><strong>ScriptA:</strong></p>
  
  <pre><code>[Serializable]
  public struct Settings
  {
      public float boo;
      public float foo;
      public int baz;
  }
  
  public Settings settings {get;set;}
  //this one will be exposed but i don't want to use a public field
  public Settings settings2;
  </code></pre>
  
  <p><strong>ScriptAEditor:</strong></p>
  
  <pre><code>public override void OnInspectorGUI(){
          //how to expose `ScriptA.settings` so the user can tweak its field.
  
         //i can also do a bunch of  EditorGUILayout.IntField and EditorGUILayout.FloatField but it is too manual.
   }
  </code></pre>