Scene Visibility Tools - Info and Discussion Thread


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:
3964798--340102--SceneVisDemo_HideShow_Structure.gif
Isolate:
3964798--340105--SceneVisDemo_Isolate_Structure.gif
Enable/Disable Scene Visibility
3964798--340108--SceneVisDemo_EnableDisable.gif

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

Useful Links:
SceneVis Documentation
Download the latest Alpha

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

  1. 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?”)
  1. 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
  1. 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!

9 Likes

Whenever I go into isolation mode it doesn’t isolate the selected object.

  • 2019.1 a11
  • Using HDRP
  • I set Isolation to a shortcut with the shortcut manager

You can see it’s in Isolation mode but everything else still shows only the icons get hidden.

Hi @Grimreaper358 thanks for trying it out and reporting this, SRP support will be available in 2019.1.a12.

1 Like

Ah ok, I was wondering if it was because of SRP.

I like the new hide / show object in the inspector, I just don’t like the dark grey background under the eyes. it creates a distraction

I would keep the background the same for the whole panel, like I have done in the first image

1 Like

Does this work only in new projects? I cannot have it fully work in my current project.

  • I select the environment prefab and when I try to hide it, only its mesh collider becomes invisible.

Generally speaking, objects are not hidden in the following cases:

  • objects regrouped inside an empty game object,
  • UI elements, either selected individually or in empty game objects.

Works in the following cases:

  • prefabs in general: only if objects in the prefab are individually selected.
1 Like

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 :stuck_out_tongue: ).

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 :wink:

1 Like

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 :slight_smile:

2 Likes

Thanks for your answer above, much appreciated! :wink:

The column is visible but you really need to over the mouse over them to see the eyes… I wish they were more visible, like in the Photoshop UI.

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

And trust me I know how to make the hierarchy full of goodies. Stil I don’t see a reason to have the bar on the left personally. :wink:

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.

3 Likes

I think clicking on visibility for a hierarchy of objects should hide all of them, and the ALTernative OPTion should be hiding only that one object :wink:

2 Likes

Example of Qhierarchy user settings :

1 Like

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. :wink:

2 Likes

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.

3 Likes

Here’s another tool enhanced library with lots of options, and no need to have a darker grey color on the left side.

1 Like

Okay, this is working in the scene views. :slight_smile:

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.

You may want to also read this: Scene Visibility - Google Docs

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.

1 Like

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.