External Publication
Visit Post

How can I get variables from a gd script? - Solved

People > Companies ❤️ - programming.dev [Unofficial] May 2, 2026
Source

submitted by Fizz to godot 5 points | 3 comments

Edit: ah i was reading an old doc because the reddit comment I saw was 6 years old. The property is get_property_list()

I have a script that is a global it contains a bunch of dictionaries that describe items. I need a way to get a list of the different types.

Searching for solutions I found docs.godotengine.org/en/3.2/…/class_script.html#c…

but I cant seem to get it working. Godot says “Function “get_script_property_list()” not found in base self”

Example of the what im trying to get a list of

var tile_dict_grass = {
    "name": "grass",
    "source": 1,
    "atlas": Vector2i(1,0),
    "move_speed": 0.80,
    "path_cost": 2,
    "fertility": 1,
    "cleanliness": 1.5,
    "flammability": 0.60,
    "build_categories": "all",
    "solid": false
}
var tile_dict_rich_soil = {
    "name": "rich soil",
    "source": 1,
    "atlas": Vector2i(1,0),
    "move_speed": 0.80,
    "path_cost": 2,
    "fertility": 1.4,
    "cleanliness": -1.0,
    "flammability": 0.0,
    "build_categories": "all",
    "solid": false
}

How im trying to get it.

func get_tile_dict():
    var property_list = self.get_script_property_list()
    var tile_list = []
    for attr in dir(self):
        if attr.startswith('tile_dict'):
            value = getattr(self, attr)
            tile_list.append(value)
    return tile_list

Discussion in the ATmosphere

Loading comments...