x


How to create a drop down menu in editor inspector

Hey everyone,

Now I know there have been quite a few questions like this, but just hear me out!!!!!

Want I want to do, is just have a drop down menu that the user can click on, and then select a value in the inspector where the rest of the variables are.... I don't want it in any extra GUI Window or anything, just next to the rest of the variables for a script in the editor!!!!!!! Here is a link to an image on my website that I snapshotted from unity that basically shows what I'm looking for!!!!!!!!!!!!!!!

Where you see "Dropdown" in my lovely computer hand writing, that is the variable name like the rest of them. When the user clicks on "Var value" I want it to show a dropdown box in which they can then pick from a list of values to assign to the variable. And the other little scribble next to that is where there would be a little arrow most likely to show that it's a drop down menu!!!!!!

It's sort of like a Editor GUI Popup, except I want it in the inspector window next to the rest of the variables!

Any suggestions are welcome!!!!!!!!!!!

Thanks!

-Grady

more ▼

asked Jan 04 '12 at 07:35 AM

Grady gravatar image

Grady
1.1k 66 70 83

(comments are locked)
10|3000 characters needed characters left

1 answer: sort voted first

Hi Grady.

I think what you want is a custom enumeration and a public variable of the type of this enumeration. Unity should display it as a drop down menu, with the elements of the enum as list items. Try:

enum myEnum // your custom enumeration
{
   Item1, 
   Item2, 
   Item3
};

var dropDown = myEnum.Item1;  // this public var should appear as a drop down

cheers, Vivien

more ▼

answered Jan 04 '12 at 09:56 AM

VivienS gravatar image

VivienS
325 24 28 37

OK, thanks, but how would i use an if() statement to check what the value would be?

Would I go if(dropDown == Item1){ //do stuff here }

Jan 04 '12 at 11:45 AM Grady

it's ok, i just figured it out, i have to use myEnum.Item1 in the if() statement instead of just Item1, but how would i make it so that it has a little downward arrow? I didn't realise that i forgot the link in the post above, so i added it and you might be able to see what i mean!!!!!

EDIT [I realised that the arrow is there, it's just that my screen resolution just cuts off that bit of the screen!!!!!!!]

I also had to go: var dropDown : myEnum; to allow the variable to be set as whatever the value of the enum is!!!!!!!!!!!!!!!!

Thanks for your help!!!!!!!!!!!!!!!!

Jan 04 '12 at 11:48 AM Grady

I read your questions just yet. I've only tried this with C# yet ;) Sry, if the syntax didn't work out completely!

Jan 04 '12 at 02:47 PM VivienS
(comments are locked)
10|3000 characters needed characters left
Your answer
toggle preview:

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

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Topics:

x482
x402
x50
x47

asked: Jan 04 '12 at 07:35 AM

Seen: 2914 times

Last Updated: Jan 04 '12 at 02:50 PM