godotengine/godot

Export Variable's category and grouping (Advanced Exports) with _get_property_list() are not working in Visual Script

Opened this issue · 1 comments

Godot version:

  • Godot 3.2.3-stable
  • Godot 3.2.4-beta3
  • Godot 4 @ d834789

OS/device including version:

Screenshot 2020-12-06 201810
Screenshot 2020-12-06 201955

Issue description:

I tried to add categories and groups for my export variables with the _get_property_list() function as documented here. I can do it in GDScript but not in Visual Script with the exact same code.

In Godot 3.2.3-stable and 3.2.4-beta3:
It's not working at all. And when I closed and reopened the project again, the "make tool" button in the Visual Script editor which was previously set to on would always be off after I reopened the project. I can't add any node to the Visual Script editor unless I disconnected the script from the scene node. Otherwise, it will give me this error:
Screenshot 2020-12-05 224842a

In Godot 4 @ d834789:
It works partially as the variable shows up in the inspector tab. However, the category and group don't show up at all:
Screenshot 2020-12-06 201034

I expect it to work like GDScript and doesn't give me errors:
Screenshot 2020-12-06 172752

Steps to reproduce:

  1. Open the script.
  2. Add the _get_property_list() function.
  3. Calling the functions to add categories, groups, and desired properties (variables) to the inspector tab according to the document here.
  4. Check the inspector tab.

Minimal reproduction project:

For Godot 3:
test3.zip

For Godot 4 (since some codes have been changed - tool >>> @ tool):
test4.zip

Edited: Add a new reproduction project for Godot 4 as the old one doesn't compatible with the latest Godot 4 version - v4.0.alpha2.official [79077e6] (the engine would crash with the old project file):

Test4New.zip

This issue still presents as of Godot v3.4.3.rc2.official [0ea54d0] and Godot v4.0.alpha2.official [79077e6], as shown in the screen recordings below:

Godot v3.4.3.rc2.official [0ea54d0]:

2022-02-18.02-42-10.mp4

Godot v4.0.alpha2.official [79077e6]:

2022-02-18.02-40-23.mp4

I also upload a new reproduction project for Godot 4 as the old one doesn't compatible with the latest Godot 4 version (the engine would crash):

Test4New.zip