The Godot Q&A is currently undergoing maintenance!

Your ability to ask and answer questions is temporarily disabled. You can browse existing threads in read-only mode.

We are working on bringing this community platform back to its full functionality, stay tuned for updates. | Twitter

0 votes

Good day!
I'm learning Godot right now and I have the following Problem:
I have a Node with a script attached that holds a dict. with Int Values.
On Another Node I have a script attached with a static function that creates an Object from another Script which is not attached to any Node.
From that created Object I want to access the Node with the dict. and change Values.
get_node() doesn't Work because the Object from which I access isn't in the Scene Tree
Is it possible to access the dict. in some Way by that object?
Searched for quite some Time now and did not find any conclusive Solution, so I would be very grateful if somebody could Help me.

in Engine by (17 points)

Hard to say what might be the best solution based on the limited info provided, but it might make sense to create / access the Dictionary from a Singleton instead of a specific object. Does that seem feasible?

If you did that, you could access the Dictionary from anywhere else in your game...

Oh that should work, didn't know about Singleton yet.
Thanks a lot^^

1 Answer

+1 vote
Best answer

Based on the above, here's a basic outline:

  • Create a new script (say, to hold "global" data - including your Dict.
  • Create the dict as appropriate in the script: var myDict = {...}
  • Make the script an Autoload via Project | Project Settings | AutoLoad (tab)
  • Add your script to the list, and make sure it's Enabled
  • Now, from anywhere in your game, you can access the Dict via: Globals.myDict
by (22,674 points)
selected by
Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.