From f8d9e4afdbc6dd7a35076e91d976daf3841de6a3 Mon Sep 17 00:00:00 2001 From: Hugo Locurcio Date: Tue, 23 Nov 2021 00:56:43 +0100 Subject: [PATCH] Document the engine's use of internal groups in Node --- doc/classes/Node.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml index 423002d0586..6b3aa30dd2f 100644 --- a/doc/classes/Node.xml +++ b/doc/classes/Node.xml @@ -233,6 +233,14 @@ Returns an array listing the groups that the node is a member of. [b]Note:[/b] For performance reasons, the order of node groups is [i]not[/i] guaranteed. The order of node groups should not be relied upon as it can vary across project runs. + [b]Note:[/b] The engine uses some group names internally (all starting with an underscore). To avoid conflicts with internal groups, do not add custom groups whose name starts with an underscore. To exclude internal groups while looping over [method get_groups], use the following snippet: + [codeblock] + # Stores the node's non-internal groups only (as an array of Strings). + var non_internal_groups = [] + for group in get_groups(): + if not group.begins_with("_"): + non_internal_groups.push_back(group) + [/codeblock]