Default outliner visibility controls are now somewhat suboptimal

The current outliner visibility controls default to just showing the “temporary” viewport visibility toggle (the eye icon). While this is understandable for reducing the burden for folks to need to immediately know/understand what other toggles are supported, I don’t know how this will play out in practice.

Consider the following 2 scenarios of Reference images and popular addons.

Reference images, being actual objects now, often require their “Select-ability” to be toggled off. It is very annoying to accidentally select/move your reference image. This means that folks, many of which will be new, will be forced to go through the procedure and ceremony of finding the Selectable restriction, enabling it, then disabling it for the reference image. So not really a win here.

The second is that many popular addons, namely ones dealing with lots of Boolean objects or similar, have co-opt’d collections for fast and easy storage for all the boolean objects they create – so called Utility collections. This allows them to quickly toggle the visibility of every boolean in the project and otherwise keep the boolean meshes out of the way of the primary mesh collections. Consequently, it’s often necessary to show the “Viewport” and “Render” restrictions in the outliner so that manually toggling and digging through these utility collections is possible. “Render” here is important as you typically never want the booleans to show in a render etc.

In both cases I think users will end up always having to enable these restrictions thereby defeating the purpose of hiding them by default. This is somewhat exasperated because the current defaults are not controllable through Python either – there’s no python api to control the Temporary viewport viz.