Skip to content

Latest commit

 

History

History
85 lines (47 loc) · 2.2 KB

readme.md

File metadata and controls

85 lines (47 loc) · 2.2 KB

Brief

A simple editor inspector enhancement for Unity3D.

Adding support for showing public & non-public properties, fields, methods and static members in the editor inspector.

Support nested objects.

License: MIT

How to

  • Add [ShowInEditor] attribute to the members you want to show in the inspector. For example:

      [ShowInEditor(Comment = "This is a private field")]
      int privateField = 42;
    
  • Create a custom editor for the type and inherit from AU.AUEditor

      [CustomEditor(typeof(AType))]
      class AEditor : AU.AUEditor<AType>
      {
    
      }
    
  • Done!

Attribute Options

  • Comment (string)

    Comment will be shown above the field

  • CommentType (ShowInEditorMessagetype)

    Message type of the comment helpbox

  • Name (string)

    Override the name of the field

  • CommentColor (ShowInEditorColor)

    Color of the comment file

  • FieldColor (ShowInEditorColor)

    Color of the field

  • CanModifyArrayLength (bool)

    When the member is an array, can the user modify the length of the array in the inspector or not. Default is false

  • CompressArrayLayout (bool)

    When the member is an array, compress the array layout into a horizontal group to save space. Only supports primitive types.

  • Style (ShowInEditorStyle)

    Default, Button, Slider

  • Group

    When the member is a method and its a button, group the button horizontally by the group index. Default is -1 means no group at all.

  • RangeMin/RangeMax

    Range of int / float values, also serves as range min / max when the style is slider

Nested Object

If you want custom structs/classes/components also showing in the inspector, the type of the object must also be decorated by the [ShowInEditor] attribute. For example:

    [ShowInEditor]
    class SimpleClass
    {
        [ShowInEditor(Comment = "By default, only public members are modifiable")]
        public int i = 42;

        [ShowInEditor(Comment = "But you can modify it with flags = ShowInEditorFlags.ReadWrite", Flags = ShowInEditorFlags.ReadWrite)]
        string xixi = "XD";
    }