Search Unity

  1. Improved Prefab workflow (includes Nested Prefabs!), 2D isometric Tilemap and more! Get the 2018.3 Beta now.
    Dismiss Notice
  2. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  3. Let us know a bit about your interests, and if you'd like to become more directly involved. Take our survey!
    Dismiss Notice
  4. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice
  5. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice

Property drawer enum

Discussion in 'Extensions & OnGUI' started by MaskedMouse, Jul 22, 2018.

  1. MaskedMouse

    MaskedMouse

    Joined:
    Jul 8, 2014
    Posts:
    265
    I'm trying to re-create the property drawer that Ryan used in his talk Unite Austin 2017 with Scriptable Objects.

    So basically this is a sort of enum popup with a field behind the chosen enum.
    But if I do an EditorGUI.EnumPopup it will show up as a bar with the enum name in it instead of a menu dropdown kind of like thing as shown in the image below.
    How do I re-create this kind of menu dropdown?

    Dropdown.png


    Edit: Ah right, found the solution apparently he had a github source up

    https://github.com/roboryantron/Uni...Code/Variables/Editor/FloatReferenceDrawer.cs

    The specific thing I was looking for:
    Code (CSharp):
    1. popupStyle = new GUIStyle(GUI.skin.GetStyle("PaneOptions"));
    2. popupStyle.imagePosition = ImagePosition.ImageOnly;
     
    Last edited: Jul 25, 2018
  2. Hosnkobf

    Hosnkobf

    Joined:
    Aug 23, 2016
    Posts:
    396
    To answer the actual question properly: Pass a different GUIStyle (and maybe also GUILayout.Width(x) as GUILayoutOption).