Render order of templates / GUI and pick_node

Hi! I have a couple of questions:

1/
I have gui-scene with many templates.
Can I control the render order of templates?
(except using layers)

2/
Assume that I have game objects with gui inside (call them the chips for example)
This chips are created using factory. And I use pick_node for their gui

So. I create chips:

print( factory.create("#chips_factory", pos) )
– /instance123
print( factory.create("#chips_factory", pos) )
– /instance124

… and so on. Pick_node works fine

I remove some objects from the scene and create new chip:
print( factory.create("#chips_factory", pos) )
– /instance25

And now if last chip (/instance25) overlap old chips (even if render_order of new chip is greater) pick_node works for old chips first of all.
Is it normal behavior?

You control the render order either through layers or how you hierarchically nest your gui nodes. There is no other way of controlling the draw order within a gui scene.

gui.pick_node(node, x, y) doesn’t care about render order of gui nodes. It simply checks if the coordinates specified are within the bounds of the node. You need to do your gui.pick_node() calls in an order that corresponds to the order in which they are rendered or in which makes sense to your scene.