Search Unity

Nested Prefab Annoyance

Discussion in 'Prefabs' started by Helical, Feb 6, 2019.

  1. Helical

    Helical

    Joined:
    Mar 2, 2014
    Posts:
    50
    So with Unity 2018.3, we got them Nested Prefabs finally.

    Here are my problems with it
    .
    .
    .
    1) Apply button gone
    View attachment 370795
    I was always able to quickly save my prefab after I did some changes, and this operation was so common i was even considering to hotkey it.

    Now this is what we got in the new and crispy Unity
    View attachment 370798
    There are a bunch of new stuff here, and there is a button Apply All, which is under the Overrides menu item.
    So in essence to press the button which 99% of the time I will be pressing I need to press 2 instead of 1 button. That is a workflow deterioration of 100%!!

    What else, is that I could press the 'Apply' button where ever my selection was in any of the child objects of the prefab.

    Now you must select the Root, which reduces the scope of effectiveness.

    2) Editing prefabs is now much harder, since this operation does not work
    View attachment 370801

    I always brag to my C++ dev friends how in Unity, my mouse can do very complex operations. For me the "drag and work" ethics of Unity always made me smug.

    However the new and "imporved" long time promised Nested Prefabs
    Do this whenever I want to reparent any object into the heirarchy of a prefab. Btw, 99% of my heirarchy are prefabs to avoid scene merge conflicts, so imagine the frustration when I see this
    View attachment 370804

    Ok so I open the all new and cool "Prefab Mode" as the error suggests

    (Screenshot limit reached)

    But in prefab mode there are no other objects of which I want to drag.

    So If you think you can write code to solve the problem, you can't, this stops script operations in Editor from doing this as well.

    The only option is to recreate whatever you want, or drag it into the last child, and only then enter prefab mode and reorder.

    3) Missing Scripts and other problems.

    If any missing scripts are attached in any place on your prefab, (which may happen alot if you are exporting packages). Then you discover that all the changes you made to the Prefab need to be remade, since it wont let you Apply changes until the Missing Script is removed.

    So I remove the Missing Script, but since the prefab used to have a missing script, it still wont let you apply the change of you removing the Missing Script. So the only way to remove the Missing Script is from within the Prefab Mode. in which you may not have available the component values from which you want to Copy.

    Summary)
    Nested Prefabs are cool, but the workflow changes suck. There are more problems which I rather not be aware of, though sure am I that they exist.
     

    Attached Files:

  2. Sprawl

    Sprawl

    Joined:
    Jan 19, 2014
    Posts:
    42
    1. Selecting on which prefab you want to apply is necessary. I know this is an extra step but it also allows things that weren't possible before. However, I agree that selecting forcing to select the root prefab is a mistake. In a big hierachy, it's confusing and it wastes time. At the very least, the button should be grayed out OR there should be a button that select the root prefab instead.

    2. This 100%. Editing prefabs is a lot harder now. The fact that you cannot remove an object from a prefab without having the prefab mode opened is the number one annoyance people have around me. For people doing Level Design and world building, it makes them try to avoid using prefabs if they can because it slows scene editing so much.
     
    akuno and Rich_A like this.
  3. Rich_A

    Rich_A

    Joined:
    Nov 22, 2016
    Posts:
    338
    I hope prefab workflow ***improvements*** are the focus of the 2018 LTS release. This prefab workflow might make sense in Unity's laboratory conditions, but not in the real world of commercial (Indie) game development.
     
    akuno likes this.
  4. timmehhhhhhh

    timmehhhhhhh

    Joined:
    Sep 10, 2013
    Posts:
    157
    +1 for the missing script issue - at the very least the error message should tell you the path to the offending gameObject and the name of the expected missing component. it's stored already in the prefab asset, just communicate it to the user.
     
  5. akuno

    akuno

    Joined:
    Dec 14, 2015
    Posts:
    88
    Absolutely. I dont enjoy at all the workflow with them.

    It is wonderful being able to nest them. Being able to open them separetely from the Scene, is also nice. But prefab variants and was an unneeded complication.
     
    Last edited: Jun 16, 2019