— UPDATE Feb 6th
Hide/Show and Isolation will now apply to item + children, coming in a future beta release.
Isolation will now toggle, no need to use a separate key to exit Isolation. —
Hi everyone! The “World Building” team at Unity is excited to announce our first big feature-add: Scene Visibility Tools. (we like to call it “scenevis”)
Simply put, this means you can hide, show, and isolate items in the sceneview, affecting editor only, zero triggering of lighting rebakes/etc. These tools are now available in Unity 2019.1.0a11 and later. Download, try it out, return here to share your thoughts!
Hide and Show:
Isolate:
Enable/Disable Scene Visibility
Quick Start:
Install the latest Alpha, start a new project.
Note the new visibility column on the left side of the Hierarchy
Click in an object’s row to hide or show it, ALT-click to hide or show the object plus it’s children.
Setup keyboard shortcuts via “Edit > Shortcuts > Scene Visibility”
Use the “Isolate” function to view only selected items, then exit back to previous state
Toggle on/off the effects of Scene Visibility via the new toggle in the SceneView Toolbar
If You Find a Bug
Report it here, or via fogbugz. Please give as much detail as you can, thanks!
Goals for SceneVis
Quick access to hide and show via keyboard shortcuts, or hierarchy buttons
100% granular vis control, ie can hide/show individual items, parents don’t override
Clear indication of hide/show state in the Hierarchy, without getting cluttered
Ability to enable/disable the effects of SceneVis, without losing hide/show states
Save vis state info, but never “dirty” the scene, play nice with source control
Design Choices That You’ll Probably Have Thoughts On
Enable/Disable the SceneVis effects does not change the state icons shown in Hierarchy
Similar to disabling “Lighting” in the SceneView Toolbar, this will only toggle the visual effect
That’s nice and consistent, but can be confusing (“why are my objects visible when I hid them?”)
Clicking “Hide” on a parent object does not hide it’s children
Again, consistent with current Hierarchy actions- if you click to expand a parent, only that parent expands, but if you ALT-Click, that parent + children will expand
Granularity first was very important, and there are many valid use cases for hiding only a parent but keeping it’s children visible
Only show icons next to hierarchy items that are Hidden
This avoids showing a wall of icons, since most scenes will have hundreds of visible items
Hover does display the Visible icon
Hidden items can be seen at-a-glance
That’s it for now, thanks for taking part in Alpha testing!
Hi! It should work fine in existing projects. It sounds like you are hiding just the parent object, and not the children (see the “Design Choices That You’ll Probably Have Thoughts On” item #3 above ).
To hide an item + it’s children, you’ll need to ALT-click the icon. Good to hear this tripped you up…sorry for that, but good to hear, that’s solid feedback for us
We added this to ensure the vis column is clearly visible at-a-glance, and also because we intend to add even more goodness into the hierarchy! It’s value will increase, I promise
Can you make this color configurable? in the color preferences? ( so a can match the background color ) Haha, no really it’s messing with my OCD to have a different background color there.
If you make it configurable users can decide what fits them
I have been using Qhierachy for a while and I like that is very user customise-able, I can change colours, icons positions, disable / enable features etc.
My request to unity is, make the same kind of user configurability possible for the new tools, and don’t force them upon users. in other words don’t try to make a one fits all approach, but leave some choice for the user.
Practicality; I guess most of Unity users’s languages read from the left to the right. It wouldn’t be that bad to have the choice though. I would place it to the right in my projects because the hierarchy window is on the left of the scenes views.
Looks sort of useful but we designed out this being a problem a while back using multi scene - we just unload the detail props scene etc.
Is it useful? I think so, if it prevents editing too as anyone could probably write something to link a public property of choice in the hierarchy bar.
Would be interesting if the UI could be: you can assign any public bool of any component to be toggled in a column, but that’s a little out of scope here. I’d have probably linked the state of mesh editing + visibility then, to a toggle column to replicate the functionality here.
But it’s worth thinking about how that could be much more open ended and useful in broader context. Being able to link things ourselves to column toggle.
Because people will always want a variation of behaviour for their specific projects.
The whole feature is only meant for changing how scene shows up in the editor. It’s not meant to be a tool to enable/disable gameobjects from the actual game:
But game view supposed to show the gameplay like it’s going to work in build too. Having it show something totally different in editors game view would be really confusing to many users.
It’s only about showing/isolating/hiding objects from sceneview in editor so one can focus on editing specific parts of the scene.
I don’t argue it could still be handy to be able to quickly hide some rendering from game view too (right now you have to toggle off the mesh renderer component per object basis), but right now it is normal for it to not work outside of scene view as that’s how it’s designed to work atm (to answer the original question).
If they allow hiding the objects from editors game-view with the same control in future (could be a toggle in game view topbar), I’d hope there would be some warning somewhere that you are looking at a view with hidden objects that would normally appear on final build etc.
If it’s some common thing you do every time when you run the thing in the editor, you could just write some script with the help of Unity - Manual: Conditional compilation (use #if UNITY_EDITOR … #endif) to implement different visibility logic for your game elements in the editor.