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

See title; which one is the better way to access a child node's functions? Should I use


and have the child node have a corresponding on_start_stuff function linked via signal? Or should I do


with the start_stuff() function having identical function to the aforementioned on_start_stuff?
Also, would the answer be different if I wanted to access the child of a child node?

Godot version 3.2.3.stable
in Engine by (31 points)

1 Answer

+2 votes
Best answer

Generally speaking, the best rule-of-thumb for handling node communication is "call down, signal up". Following this mantra will make things easier and less troublesome in the majority of cases.

As a reference, I highly recommend keeping a copy of this diagram handy - it was made by a member of the community some time ago:

enter image description here

I've also written up some examples of the various situations described:

by (22,191 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.