Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
4
Question by Azound · Feb 18, 2010 at 06:48 AM · editorwindoweditorgui

How do I add a drop-down menu to an EditorWindow?

I want to add a drop-down menu to my custom EditorWindow. Something like either the Unity File menu, or even better, the "Create" menu in the Project editor. I've looked through all the GUI and EditorGUI controls, and none of them look like a drop-down menu to me. Perhaps it's a "Popup" with a very customized style?

Does anybody know?

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

3 Replies

· Add your reply
  • Sort: 
avatar image
5
Best Answer

Answer by Statement · Feb 18, 2010 at 09:02 AM

See EditorGUI.Popup on scripting reference for using popups in editor scripts.

Alteratively EditorUtility.DisplayPopupMenu might do what you want but I have never used it. It seems to be customizable through EditorGUIUtility.LookLikeControls.

Comment
Add comment · Show 2 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Hurri04 · Feb 06, 2018 at 01:22 PM 1
Share

even though there's an answer with more upvotes below, here are the fixed links in case anyone else wants to have a look without having to google them themselves:

EditorGUI.Popup

EditorUtility.DisplayPopup$$anonymous$$enu

EditorGUIUtility.LookLikeControls (Obsolete)

avatar image Bunny83 Hurri04 · Feb 06, 2018 at 02:11 PM 0
Share

Thanks, i've fixed the links in the answer

avatar image
13

Answer by numberkruncher · Jun 08, 2012 at 04:27 PM

I found that a mixed of the above answers was required to get the editor-style menu strip at the top of an EditorWindow:

 void OnGUI() {
     GUILayout.BeginHorizontal(EditorStyles.toolbar);

     DrawToolStrip();

     GUILayout.EndHorizontal();
 }

 void DrawToolStrip() {
     if (GUILayout.Button("Create...", EditorStyles.toolbarButton)) {
         OnMenu_Create();
         EditorGUIUtility.ExitGUI();
     }

     GUILayout.FlexibleSpace();

     if (GUILayout.Button("Tools", EditorStyles.toolbarDropDown)) {
         GenericMenu toolsMenu = new GenericMenu();

         if (Selection.activeGameObject != null)
             toolsMenu.AddItem(new GUIContent("Optimize Selected"), false, OnTools_OptimizeSelected);
         else
             toolsMenu.AddDisabledItem(new GUIContent("Optimize Selected"));

         toolsMenu.AddSeparator("");

         toolsMenu.AddItem(new GUIContent("Help..."), false, OnTools_Help);

         // Offset menu from right of editor window
         toolsMenu.DropDown(new Rect(Screen.width - 216 - 40, 0, 0, 16));
         EditorGUIUtility.ExitGUI();
     }
 }

 void OnMenu_Create() {
     // Do something!
 }

 void OnTools_OptimizeSelected() {
     // Do something!
 }

 void OnTools_Help() {
     Help.BrowseURL("http://example.com/product/help");
 }
Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image
-1

Answer by Semut · Apr 06, 2011 at 04:48 PM

Ok, I refer this a newbie question but as a developer state, and not as newbie question in general. I'm also still considered as noobs!

Here I will create a menu that will automatically added into your Unity.

Unity JavaScript - JS

  • Create new folder and rename it as "Editor"
  • On the folder you just create right click and Create > JavaScript
  • There will be a new file and rename it as "SemutMenu"
  • Right click the newly created and renamed file to edit it (choose edit).
  • Withing your editor, clear all then copy and paste below code..

    import System.IO; class SemutMenu extends EditorWindow {

    @MenuItem ("Semut/Menu One")
    static function ShowWindow () {
        EditorWindow.GetWindow (SemutMenu);
    }
    

    }

  • Now after you SAVE IT, you will have new menu that appear on the Semut > Menu One

  • That will be all!

  • Comment
    Add comment · Share
    10 |3000 characters needed characters left characters exceeded
    ▼
    • Viewable by all users
    • Viewable by moderators
    • Viewable by moderators and the original poster
    • Advanced visibility
    Viewable by all users

    Your answer

    Hint: You can notify a user about this post by typing @username

    Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

    Follow this Question

    Answers Answers and Comments

    4 People are following this question.

    avatar image avatar image avatar image avatar image

    Related Questions

    Can't See all content of Editor 0 Answers

    How to create EditorWindow on game load 1 Answer

    Changed data through EditorWindow isn't persistent. 1 Answer

    Any way to attach a bit of code to individual UI Windows [Editor] 1 Answer

    Color space in Editor UI 0 Answers


    Enterprise
    Social Q&A

    Social
    Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

    Footer

    • Purchase
      • Products
      • Subscription
      • Asset Store
      • Unity Gear
      • Resellers
    • Education
      • Students
      • Educators
      • Certification
      • Learn
      • Center of Excellence
    • Download
      • Unity
      • Beta Program
    • Unity Labs
      • Labs
      • Publications
    • Resources
      • Learn platform
      • Community
      • Documentation
      • Unity QA
      • FAQ
      • Services Status
      • Connect
    • About Unity
      • About Us
      • Blog
      • Events
      • Careers
      • Contact
      • Press
      • Partners
      • Affiliates
      • Security
    Copyright © 2020 Unity Technologies
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell My Personal Information
    • Cookies Settings
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    • Anonymous
    • Sign in
    • Create
    • Ask a question
    • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Explore
    • Topics
    • Questions
    • Users
    • Badges