Describe the project you are working on:
A 2D game with complex scenes.
Describe the problem or limitation you are having in your project:
I have a scene composed of a big texture and multiple collision polygons. For convenience, I have all of them locked from selecting. However sometimes I want to edit one of the locked objects. I have to either manually navigate the scene tree and find the object I want to edit or temporarily unlock the objects. This is... inconvenient.
Describe how this feature / enhancement will help you overcome this problem or limitation:
It would be useful if we had an option to select locked objects, e.g. when holding Alt. Locked objects still wouldn't go in the way, but the user would be able to conveniently access them when necessary.
Show a mock up screenshots/video or a flow diagram explaining how your proposal will work:
Describe implementation detail for your proposal (in code), if possible:
Just ignore the selection lock when Alt (or some other modifier key) is held.
If this enhancement will not be used often, can it be worked around with a few lines of script?:
You don't even need a script for this, but it's a QoL thing.
Is there a reason why this should be core and not an add-on in the asset library?:
QoL thing
(did I mention it's really trivial?)
Note that in 2D, Alt is already used to display a list of nodes to select when there's ambiguity. That said, nothing prevents us from implementing both behaviors when holding Alt (also in 3D).
The other issue is that on Linux, Alt is often handled by the window manager. This prevents us from using the key as a modifier key entirely, so we may prefer using another modifier instead. Any ideas?
Note that in 2D, Alt is already used to display a list of nodes to select when there's ambiguity.
So this could be modified to make the list also include locked nodes.
I made a PR (see above), but commenting here for greater visibility.
Selecting locked nodes is straightforward to do, but we also have "grouped" nodes (a.k.a. unselectable children) and I thought that selecting these nodes could be unwanted.
HOWEVER, we have both TOOL_SELECT + right click and TOOL_LIST_SELECT that do exactly the same. My thought was to split their functionality, so TOOL_SELECT + right click would select ANY node (including ones inside groups), while TOOL_LIST_SELECT would keep the current functionality. Does it makes sense?
Most helpful comment
So this could be modified to make the list also include locked nodes.