From f6725f8089992562c537dee2a6fd3ccfe1a44e58 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 (cherry picked from commit f8d9e4afdbc6dd7a35076e91d976daf3841de6a3) --- doc/classes/Node.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml index b4079404160..1e1dd041c28 100644 --- a/doc/classes/Node.xml +++ b/doc/classes/Node.xml @@ -202,6 +202,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]