We’d like to address issues with prefab and nested prefab workflow.
Let’s take a simple example and explain what we feel should be enhanced for a production environment :
The nested prefab has no override dropdown.
You can’t right click “Revert” on the nested prefab
You can’t right click “Apply to @BoardManager” nor “Apply to QueueCharacterRoot” on the nested prefab
[Enhanced in 2022, no override nodes are greyed out] The Override Dropdown is cluttered with nodes having no override making impossible to assess what is overriden or not.
The dropdown has no checkbox to easily browse and select what to apply.
The dropodown is unpractical, keeps hovering out, keeps reseting scroll, selection, etc …
Double-click on any go in the dropdown does not select it in scene hierarchy, so if we spot an issue we have to manually find the object in the hierarchy, which closes the dropdown, which we have to reopen and rescroll once we identified the issue.
Several Unity UI types create overrides where they shouldn’t if the UI is correctly updated (Or should be included in default overrides), this include all UI Layouts and TMP Pro. Even sometimes with absolutelly no clue on what changed
What we need really need is an editor window that we can dock, that reflect current prefab selection with toggleable show/hide whole hierarchy vs only overriden bits + All the things that are missing in the above statements.
I believe your first two requests are because in your case the override doesn’t sit on the nested Prefab, but on its parent. So the dropdown is only shown when handling the root to show clearly on what Prefab the override is. This way when you Apply or Revert, you are more aware of what source asset are you modifying.
Aren’t objects with no override faded out for you?
On this one I agree! I wish it would just ping the object in the hierarchy. It would be quite helpful.
(you can understand that if it selected it, as you asked, the dropdown would close because the selection would change)
This is also a bit painful, UI components shouldn’t produce changes if the layout hasn’t changed. However in your case these are children, so Default overrides wouldn’t help in this case.
It shows a scrollbar to me. (and to them, it’s visible in the first post)
It is true that it doesn’t show one if the Component being inspected has overrides that go over the screen. I was able to do it with a looooooong-ass Materials list:
Hi, not sure what you meant there ? Overrides are value changed in the current scene, the thing is you can select a single GameObject and apply the current context overrides to either the direct parent prefab or any nested prefab / root of the variant.
[Edit : In 2022 the fade out of none override transforms helps a lot]
We’re are using the black theme, maybe that’s why ? Also which unity version ?
Right, that’s why we’d need a standalone panel. If a child gameobject is selected then the panel would show all the prefab it is part off. So when you select any gameobject the prefab listed in this panel won’t change.