Generally speaking - in both programming and UX Design, if you find yourself repeating the same thing over and over, it’s a good idea to stop and ask yourself “maybe this is evidence that I’m doing something wrong and need to rethink my approach, extracting this repeated bit (into a function or whatever) to clean up the information flow”?
Godot’s eyeball (show/hide icon) in the hierarchy is one such thing. It is repeated on literally every element in the hierarchy and eats up precious visual space, and just becomes extra visual “noise”.
There’s an elegant solution: have the eyeball appear for an item only when you mouseover that item in the hierarchy. Unity does this, as does Figma, and other strong programs.
Here’s an example from Unity, with “Arena” being moused over. You can see that the eyeball only appears next to Arena (Unity also has a hand icon that behaves similarly, you can ignore that for current purposes)
I think this is a huge improvement, visually. I’m also happy to do the work of making this happen since I know Godot is open source… but would need a bit of coaching to help me get up to speed.
One issue with the sample is there isn’t any space for the eyeball when it does appear; Unity reserves a lot of gutter space for it so elements don’t jump around as you move your mouse around. I figure if the gutter space must be there, why not use it. Ultimately I prefer to change the visibility from the inspector any ways, I would delete the eyeball entirely, but I understand it’s useful to decipher how visibility affects children nodes.
I will very often ‘run down’ the ‘eyeball’ column to hide elements whilst programming. I may have a building on screen, and wish to punctually eliminate the walls to see inside, or have a host of creatures; but I only want to see a few of them. It has only recently be possible to do this ‘running down’; Blender has had this for ages, and is where I developed the habit. It’s very useful; very useful indeed. I vote for keeping the eyes open, where they are presently. All in favour..? OK, the 'eyes have it..! (That’s a British joke; sorry…)
There’s currently a proposal on the subject. While the original idea was different, many people have suggested in the comments what’s being proposed here:
There’s a proposal tracking this and a PR implementing it: