Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dynamic properties are not '.' accessible when accessing external Nodes. #24534

Open
willnationsdev opened this issue Dec 21, 2018 · 2 comments

Comments

@willnationsdev
Copy link
Contributor

willnationsdev commented Dec 21, 2018

Godot version:
Godot 3.1 alpha: a92e885

Issue description:
When using _get, _set, and _get_property_list to expose a property dynamically, I have found that it functions inconsistently.

  • Works
    • Test scene 3) A node exposes its own dynamic property and then prints said property using self.<property>.
    • Test scene 2) A node has an exposed Resource property with a script assigned in the Inspector. The Resource script then exposes a dynamic property. The Node prints the resource variable's dynamic property.
  • Doesn't work
    • Test scene 1) The exact same code from scene 3 is used (without the print statement), but it's placed on a child node. The parent node then attempts to get the child and print the dynamic property.

I am unable to identify the reason that this occurs, so I've concluded that it is likely a bug of some kind.

Note that using .set(<property>, <value>) and .get(<property>) still works, but not using dot notation.

Minimal reproduction project:
test_dynamic_properties.zip

@willnationsdev
Copy link
Contributor Author

cc @xDGameStudios (might be interested in following this)

@KoBeWi
Copy link
Member

KoBeWi commented Aug 10, 2020

Still valid in 3.2.3 rc3
The project freezes/crashes in 6831da6 (there's a chance this is resolved on master though)

iiiCpu added a commit to iiiCpu/godot that referenced this issue Jul 13, 2021
… with dot operator.

Dynamic properties were always accessable with '.' dot operator. Just fixed false error when property name were not checked for presence in  '_get_property_list' godotengine#24534
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants