I want the user to be able to select a string from a list of possible options.

  • The value stored in the extra properties data must be the selected string (not an integer id as with EnumProperty)
  • The list of options is generated dynamically (content depends on the file system).

    [It contains file names from one or multiple directories, restricted to certain extensions, but displayed without extension, whereas duplicate filenames (i.e. different extensions) are only displayed once]

I tried to use prop_search, but it doesn't work - see this question.

What is the best way to achieve this?

  • 3
    $\begingroup$ What content exactly? Just some file names or something? If you would like to display some files of a folder, you can easily populate them by using an UI list: blender.stackexchange.com/a/30446/31447 $\endgroup$
    – brockmann
    Commented Jun 11, 2018 at 13:18
  • $\begingroup$ It's supposed to be a list of File names from some directory (might become multiple directories), displayed without extensions, but only certain filters (like only consider certain extensions, and if there's the same file with multiple extensions only show that once) $\endgroup$
    – IARI
    Commented Jun 11, 2018 at 13:38
  • 1
    $\begingroup$ I would suggest a Menu and Operator approach. Similar to templates menu in text editor. $\endgroup$
    – batFINGER
    Commented Jun 11, 2018 at 16:18

1 Answer 1


You're mistakingly asssuming that an EnumProperty can only hold integers. This works just fine:

import bpy

bpy.types.Object.my_prop = bpy.props.EnumProperty(
        ('IDENTIFIER', 'The UI string', 'Tooltip'),
        ('JEMOEDER', 'Je moeder', 'Op je hoofd'),

For more info, see the bpy.props.EnumProperty API documentation.

  • $\begingroup$ Does not work for me - the json data stored in the extra property will not use the ID, but an integer is stored instead :( $\endgroup$
    – IARI
    Commented Jun 11, 2018 at 16:52

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .