Disabling Gizmos when a node is selected in the editor (@tool)

Godot 4.3.Stable

Hello so I’m curious if you can remove the Gizmo’s Here! they control the position, rotation, and scale.

I want it to hide these when selected in the editor.
Enabled
like this
Disabled

I also would like it, if you could stop other nodes from being selected while this node is selected. I already have a way to detect if its been selected or not.

if EditorInterface.get_selection().get_selected_nodes().size() == 1:
	if (EditorInterface.get_selection().get_selected_nodes()[0] == self):
		#Code Goes Here

So if this is possible let me know.

Godot 4.3.Stable

Hello!
For anyone in the future with the same issue, One of the things you can do to make a node hide its gizmos is to lock the node! It also makes it so you cant select this node from the viewport, but only from the scene tree.

LockFunction

The closest I could get to getting rid of the ability to select other nodes, was locking all of the nodes that I would interact with, Like this!

if EditorInterface.get_selection().get_selected_nodes().size() == 1:
	if (EditorInterface.get_selection().get_selected_nodes()[0] == self):
		for NodeRef in get_children():
			NodeRef.set_meta("_edit_lock_", true)

But in all honesty it feels quite jank, I hope there’s a better solution.

Okay i found a solution but its not really that code related.

If you lock the node you want to not show movement position and scale gizmos, it doesn’t show up. The issue i wanted to fix was the node selecting other nodes when selected, if you (after the node is locked already) set the control to rotate by pressing E or hitting this button in the viewport.
RotateFunction
If there’s a way to set your control type from the script than this could work!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.