Focus a node in the node tree for editing


I’ve been using the editor for a few weeks now, and my project has grown quite a bit. So much in fact that I’m now at a point where I have multiple layers of user interface, all of which are grouped together as children of the camera object. In game, I switch between these ui layers without problem, but in the editor, I end up having to disable all the other layers manually in order to focus on editing the one I’m working on, which sometimes leads to me launching the game without enabling the layers again. This causes problems because they end up not executing their initialization events, which is important because they register themselves to a global game object on scene startup.

My proposed solution to this problem is to allow users to “focus” on a node in the scene as if it was the root node, meaning that only it and its children are visible in the editor window as long as that node is focused. This would not affect the way the game is displayed once launched. I’m imagining it could be a context menu option or a keyboard shortcut, but either way, the point would be to edit portions of the scene without having the rest of it be in the way. This would eliminate the need to manually enable and disable layers or groups of objects just to have them out of view. This could also be useful for, say, level editing, as you could focus on editing terrain features without having enemies and other interactive elements in your way.

I can’t imagine that this would be even remotely easy to implement, but it would be a massive productivity boost, and it would probably also reduce the risk of human errors, so I ask that you at least consider it for a longer term feature.

Thanks for listening!

As a temp workaround, could you have a global script that enables them all at startup? (And logs in the console)?

I suppose I could, but I’m not sure how that would affect the initialize/postInitialize order of operation.

I mean at worst, I can iterate over the camera’s children and throw an error if any are disabled, that way I’ll at least catch my mistake.