# Enum Script Properties

**URL:** <https://forum.defold.com/t/enum-script-properties/12620>\
**Category:** Feature requests (USE GITHUB)\
**Created:** [October 16, 2017, 4:08pm UTC](https://forum.defold.com/t/enum-script-properties/12620 "2017-10-16T16:08:22Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![ross.grams](https://forum-defold.b-cdn.net/letter_avatar_proxy/v4/letter/r/cab0a1/32.png) [@ross.grams](https://forum.defold.com/u/ross.grams)\
**Post date:** [October 16, 2017, 4:08pm UTC](https://forum.defold.com/t/enum-script-properties/12620/1 "2017-10-16T16:08:22Z")

</div>

Script Properties are awesome, but I would like have an option to define enum/multiple-choice properties that would give you a dropdown selector in the editor.

You can use hash properties, but then the user has to know exactly what the acceptable values are, and not make any mistakes typing them in—not great UX, especially for someone using a script from a library. You could also use a bunch of boolean properties, but that gets pretty messy too.

Perhaps you would define them like this:

```lua
go.property("species", { hash("Dog"), hash("Vorticon"), hash("Orc") })

```

It wouldn’t really matter if accessing it just gives you the index or the hash value, either way would do the trick.

---

<div class="post-metadata">

**Author:** ![gianmichele](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/gianmichele/32/24028_2.png) [@gianmichele](https://forum.defold.com/u/gianmichele)\
**Post date:** [October 16, 2017, 5:16pm UTC](https://forum.defold.com/t/enum-script-properties/12620/2 "2017-10-16T17:16:37Z")

</div>

+1 for this

---

<div class="post-metadata">

**Author:** ![ArchivedAccount](https://forum-defold.b-cdn.net/letter_avatar_proxy/v4/letter/a/d9b06d/32.png) [@ArchivedAccount](https://forum.defold.com/u/ArchivedAccount)\
**Post date:** [May 23, 2024, 7:26pm UTC](https://forum.defold.com/t/enum-script-properties/12620/3 "2024-05-23T19:26:21Z")

</div>

This would be great for more user-friendly Lua libraries. 🙂

---

<div class="post-metadata">

**Author:** ![Pawel](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/pawel/32/24623_2.png) [@Pawel](https://forum.defold.com/u/Pawel)\
**Post date:** [June 29, 2025, 4:13pm UTC](https://forum.defold.com/t/enum-script-properties/12620/4 "2025-06-29T16:13:33Z")

</div>

[https://github.com/defold/defold/issues/10912](https://github.com/defold/defold/issues/10912)

---

<div class="post-metadata">

**Author:** ![iotaHum](https://forum-defold.b-cdn.net/letter_avatar_proxy/v4/letter/i/977dab/32.png) [@iotaHum](https://forum.defold.com/u/iotaHum)\
**Post date:** [June 29, 2025, 7:15pm UTC](https://forum.defold.com/t/enum-script-properties/12620/5 "2025-06-29T19:15:40Z")

</div>

Would it be better to have a more general solution of being able to attach callbacks to the properties pane editor? This is the realm of editor scripts; a lifecycle hook? I have not got into editor scripts yet, so I maybe incorrect.
