Search Unity

Nested Prefabs: Fully integrated, Completely automatic

Discussion in 'Assets and Asset Store' started by Visual-Design-Cafe, Mar 6, 2017.

  1. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    When you apply a prefab the plugin has to check all nested prefabs for changes. The more objects you have, the longer it takes. We tested with up to 200 children (with UI components) and the apply time was a few seconds. Though, it depends on what kind of components are on your objects (for example, particle systems are much slower). So, in this case, it is most likely that the number of objects is too high.
    When right-clicking on the icon, the plugin will also check for differences to enable/disable the items in the context menu. Therefore it can take a while for the menu to show up.

    We have made some performance improvements in the latest version, which will be available soon. But having hundreds of objects will continue to have a rather large performance impact.
    Can I ask roughly how long it takes to apply the prefab with the hundreds of children? And could you let us know what kind of objects they are? It will help us to optimize the plugin for specific use cases.

    Regarding the error. We have seen it before but so far it seems like it is an internal Unity error that is not directly caused by Nested Prefabs.
     
  2. SirKnightDragoon

    SirKnightDragoon

    Joined:
    Mar 22, 2016
    Posts:
    23
    Do you know if it work with a packages like "Hierarchy PRO" ? Because both package apply changes on the hierarchy view. ex: the nested prefab blue icon, or the orange etc...

    Thank
     
  3. vivredraco

    vivredraco

    Joined:
    Jan 19, 2016
    Posts:
    22
    Clicking "Apply" or right-clicking and selecting "Apply Prefab" has stopped working for me. Instead of applying changes, it reverts them. This means it is currently impossible for me to edit any prefabs in my game. Please get back to me with a solution ASAP. Thank you.
     
  4. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    We have received reports that there are some artifacts in the hierarchy drawing when using Hierarchy PRO. We are currently looking into it to see how we can make the two fully compatible.
     
    SirKnightDragoon likes this.
  5. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Can you let me know when exactly it stopped working? Did you update your version of Nested Prefabs, Unity version, or did it stop working randomly? Also, is it not working for all prefabs or is the issue with a single prefab? And are there any error messages showing up in the console?
     
  6. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    712
    Ah you are alive, that's good news! In regards to the compile I mean when I open my project the scripts compile. I did not know that putting them in the plugins folder would improve compile time. I will do that and see what happens.

    Also am I correct in saying that the only performance impact is when updating all the connections in the editor?
    In other words am I correct in saying that no in game performance impact will occur by using this asset?
     
  7. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    In this case, moving the files to the plugins folder should get rid of the additional compile time. Please let me know in case it didn't work for you.

    Yes, that is (mostly) correct. The Nested Prefabs plugin does not have any impact on runtime performance and all prefabs load and behave like regular Unity prefabs. So you shouldn't notice any difference in performance.

    The only difference is that the plugin will add some additional components to the prefabs. These components have to be loaded and initialized at runtime, which causes a small overhead. For this, we have included the build processor to remove these components before building. (To process your project: Right-click on the project view and choose 'Nested Prefabs/Preprocess build' before building, and 'Nested Prefabs/Postprocess build' after building). For more information, you can check the documentation: https://www.visualdesigncafe.com/nestedprefabs/documentation/building/
     
  8. chillypacman

    chillypacman

    Joined:
    Oct 1, 2011
    Posts:
    71
    thanks for the reply!

    So the object is built using GAF: https://www.assetstore.unity3d.com/en/#!/content/13593 which exported an swf file with a lot of layers and animations.

    For now I'm going to just use the 'baked' option which condenses all the layers but I'll need to figure this out for the future.

    Is it possible to simply exclude some objects from being nested?
     
  9. vivredraco

    vivredraco

    Joined:
    Jan 19, 2016
    Posts:
    22
    I didn't update anything, it seemed to just happen randomly. It seems to consistently happen with most of my prefabs, but I did get one to update. Not sure what would make that one different from the others; it doesn't have any nested prefabs, and I don't think it's nested inside any other prefabs; however, that is also true of one of the prefabs that won't update. I don't have any errors in the console.

    UPDATE: Ok, I figured out what the difference is. It seems like it won't let me update ProBuilder objects. I was planning on using ProBuilder pretty extensively for this project, I really hope they're compatible.
     
  10. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    I see, all those layers are going to slow down Nested Prefabs quite a lot. In this case, how do you use those layers in a nested prefab? Is it possible to share a screenshot of your prefabs and hierarchy? I might be able to help optimize your prefab setup and/or give you a custom modification postprocessor script to ignore changes to all those layers.
     
  11. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Thanks for letting me know. I'll look into ProBuilder to see if I can find any reason why ProBuilder objects don't work properly when updating. I can't think of any reason right now, but ProBuilder might be using some specific serialized data and/or references that don't work well with Nested Prefabs. Is the data that is not being updated properly part of ProBuilder components, or are they part of Unity/custom components that are added to ProBuilder objects?
     
  12. Chrisad

    Chrisad

    Joined:
    Mar 12, 2013
    Posts:
    55
    Hello Visual Design Cafe,

    I am actually using Nested Prefabs on a project. On some components, I would like to override a list property, but it doesnt seem to work (cant add a field). Does Nested prefabs support override a list ?

    upload_2018-1-18_23-40-52.png
     
  13. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Yes, you can override individual elements in a list. Please make sure that:
    1. The list property in the class is serialized and is visible in the inspector.
    2. The component with the list property has been added to the prefab and that change (of adding the component) is applied. Components that are not yet applied do not show up in the Prefab Overrides list.
    3. The component is on the same object as the Prefab Overrides component, or on a child of that object.
     
  14. Kiupe

    Kiupe

    Joined:
    Feb 1, 2013
    Posts:
    528
    Hi,

    I'm using Nested Prefabs for the first time and since today when I hit "Apply" the last "Text Mesh Pro UIGUI" text I put in my prefab has is position change automatically. I tried to remove the text, hit apply and then another "text" position is changed. Basically I can't edit my prefab anymore.

    Don't know if it's related but I do use Pro Hierarchy too.

    EDIT : I tried to remove Hierarchy Pro but the issue remains. I really don't know what to do now.

    Thanks
     
    Last edited: Jan 19, 2018
  15. vivredraco

    vivredraco

    Joined:
    Jan 19, 2016
    Posts:
    22
    I did more testing, and it seems to be the material in the MeshRenderer. I tried making some other changes and they worked, but if I change the material then hit apply, it updates and reverts back to the previous material.

    EDIT: Actually, it's not just the material. I have another prefab where I can't change the radius of a sphere collider. I was able to change the position of a child prefab within a parent prefab and apply that successfully, and switch a mesh collider from convex to non-convex (and back again)... So it seems like some things work and other things don't, and I can't figure out why.
     
    Last edited: Jan 22, 2018
  16. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Can you share a screenshot of your hierarchy and the Text object that has its position changed? There are currently no known issues regarding positions not being applied correctly so this might be something specific to your project.
    Are you using any layout components or other components that influence the position of your UI objects?
     
  17. Kiupe

    Kiupe

    Joined:
    Feb 1, 2013
    Posts:
    528
    Hello,

    Here 2 screenshots. In the first one the text is top and stretched with its left/right/top properties set to 0. The second screenshot if after hitting "apply" in the "KeyboardViewPrefab", the text is still top and stretched but now it has its left/right/top properties value changed. Screen Shot 2018-01-22 at 11.37.06.png

    Screen Shot 2018-01-22 at 11.37.23.png

    In different version of my prefab I had other text component (TextMeshPro) . If I deleted the title text and then hit "apply" then another text has its position changed.
     
  18. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Thank you for the additional details. I have looked into it and managed to reproduce the issue when adding a new object to the prefab with a modified anchor, pivot, and position at the same time. I'll make sure to fix it for the next update.
    In the meantime, everything seems to work fine if you change the anchors and pivot first, apply that change, and then modify the position. Any changes after the first apply to the component/object seem to work fine so far.
     
  19. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    I have looked into ProBuilder for you and it might be caused by a small conflict in the way ProBuilder and Nested Prefabs handle things. For example, ProBuilder will automatically update/change the size of colliders unless the 'Custom Collider' property is enabled. The material is also changed automatically based on the Entity Type. It is possible that ProBuilder already updates those properties when Nested Prefabs has not yet copied over all data, resulting in the wrong data being saved. I'll look into it further, but it might be hard to find the exact cause of the issue without the source code of ProBuilder.
     
  20. Kiupe

    Kiupe

    Joined:
    Feb 1, 2013
    Posts:
    528
    I tried that but it did not work. I tried again with a new text game-object in order to be sure there was no issue that could be related to the old one but again the text position is changed after hitting "apply".
     
  21. dadude123

    dadude123

    Joined:
    Feb 26, 2014
    Posts:
    789
    Is there a way to have a prefab, that contains a prefab, and then add a child as "override"?

    This is what I have

    Prefab 1: BaseDialog (contains a gameobject as child called "Panel", which has a VerticalLayoutGroup component)
    Prefab 2: MyButton
    Prefab 3: MyOkButton (contains MyButton, and uses prefab override to change color and text)

    Now I want to make a 4th prefab (lets call it MyConcreteDialog).
    So what I do is first creating an empty GameObject, renaming it to MyConcreteDialog, then adding BaseDialog as child to it, and then dragging MyConcreteDialog into a folder so it becomes a prefab.

    And then I need to fill the "Panel" gameobject with all sorts of things: new text objects (TMPText), and buttons (MyOkButton). This is the step where I'm stuck, because I don't want the BaseDialog prefab to gain those new objects, they should only be there for MyConcreteDialog, but BaseDialog should stay untouched.

    Is that possible somehow?
     
  22. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    No, unfortunately, that is not possible at the moment. The best method at the moment is to add the gameobjects as children and then activate/deactivate them with prefab overrides. Though, we understand that this is not sufficient for every use case and we are working on making changes to the underlying system to allow for overriding entire children.
     
  23. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Thanks for letting me know. I'll look into it again and give you an update if I find anything. My apologies for the inconvenience, I hope that it does not slow down your work too much in the meantime.
     
  24. dadude123

    dadude123

    Joined:
    Feb 26, 2014
    Posts:
    789
    I see, thanks for clarifying.
    What I'm doing right now is having "content" canvases as separate prefabs and at runtime I add one of them to the dialog through code.

    What kind of system do you guys have planned for that though?
    Simply being able to add other prefabs through a prefab override? Or somehow setting a "base prefab" for fake inheritance?

    And more importantly, do you have a rough estimate when that could be released? :)
     
  25. Kiupe

    Kiupe

    Joined:
    Feb 1, 2013
    Posts:
    528
    Ok. I hope you'll be able to reproduce and fix it soon.

    Thanks
     
  26. markjp

    markjp

    Joined:
    Jan 15, 2013
    Posts:
    3
    Hi, I'm a recent buyer. I'm using Nested Prefabs to make my game UI. It's possible, and if yes, is there any forecast to launch these features?

    1. Add UnityEvent attributes as a single entry on PrefabOverrides. I think the PrefabOverrides should show the default UnityEventEditor, not show each property of the event. Or a least property show changes on "Modified Properties" tab.

    2. Use PrefabOverrides at any prefab, without been inside another prefab. Today I have to put a prefab inside another prefab to override its properties.
     
    Last edited: Jan 23, 2018
  27. jGate99

    jGate99

    Joined:
    Oct 22, 2013
    Posts:
    1,945
    Also waiting for this
     
  28. Fatswallow

    Fatswallow

    Joined:
    Dec 4, 2015
    Posts:
    5

    I'm having similar issue but some difference in specific detail.
    When I hit "Apply" in a prefab nested in prefab, that prefab's RectTransform position of Inactivated objects are changed. this don't appear if I right-click prefab Icon and select "apply prefab", only appears when I select "apply all" or hit apply button on inspector.
    This behaivor only happens when UI is appected by Canvas Scaler. I wonder if Kiupe's case also has CanvasScaler too.
     
  29. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    We are planning two things:
    1. Adding entire objects and/or components as prefab overrides. In the same way as you can override properties right now.
    2. Creating a variation of a prefab. A variation is a copy of the prefab (saved as a different prefab) and uses the same root object as the original prefab. However, any modifications made to it are handled as prefab overrides by default. So you can have a copy of the original prefab and add/remove any kind of objects/components.

    There is no specific schedule for release, but we are hoping to be able to release it (near the end of) next month. At the moment we are reworking some core internal functionality to allow for these kinds of overrides.
     
  30. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    1. The UnityEvents are quite difficult to handle due to the way Unity serializes them. All properties of the events are serialized separately, therefore they also show up as multiple properties in the Prefab Overrides. I'll see if there is anything I can do to group those together.

    2. What kind of functionality do you need exactly? It should not be necessary to nest a prefab just to override its properties. For every prefab instance, you can use the default Unity method of overriding properties by modifying them and not applying them. If you nest a prefab then you can use the prefab overrides to permanently save the overridden values.
    Permanently overriding a property on a prefab instance that is not nested is not possible because Unity will always apply those values back to the original prefab. There is nothing we can do about that because it is internal Unity behavior.
     
  31. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Thanks for that, I'll see what kind of influence the Canvas Scaler has on the transform properties and let you know if I find anything.
    @Kiupe Are you using a Canvas Scaler as well?
     
  32. Kiupe

    Kiupe

    Joined:
    Feb 1, 2013
    Posts:
    528
    Yes I do.
     
  33. ARGOZ-JSC

    ARGOZ-JSC

    Joined:
    Jul 12, 2017
    Posts:
    1
    Hi, I recently bought your plugin and it's been working like magic. But still there are a small problem that bugs me.
    Let's say I create prefab A, with child prefab B, when I press the Apply button, almost every INACTIVE OBJECT have its position reset to (0, 0, 0).
    It's happening randomly but a lot, and I really hate to set the position again for each object.
     
  34. vivredraco

    vivredraco

    Joined:
    Jan 19, 2016
    Posts:
    22
    Thanks, this makes sense. I've posted a thread to ProCore's bug report forum about this issue. If it's possible for you and them to share some info to resolve this conflict, I would certainly appreciate it. Both are excellent tools, and while I realize not every third-party asset can be guaranteed to work with every other, I believe it would be very helpful to many users if these assets could play nice together. And I suspect that will be easy to accomplish with a little teamwork.

    Thanks again.
     
    Visual-Design-Cafe likes this.
  35. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Thanks for letting us know. I have tried to reproduce the issue but can't seem to find any way to do it. Do you have any way to consistently reproduce this issue? And if not, could you provide some more information on the prefabs this is happening to? (A screenshot of the prefab hierarchy + inspector would be great)
     
  36. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    @Kiupe @Fatswallow
    I have looked into the issue more and I might have found the cause (I need to do some more testing to confirm this 100%). When using a Canvas Scaler the local position of the RectTransform is updated automatically based on the screen size and/or size of the parent. This value is serialized by Unity (even though it should not be necessary to save it) and is therefore also applied to the prefab and nested prefabs. This value is therefore shared between different nested prefabs but should not necessarily be the same. In combination with a modified anchor and/or pivot, this might result in a wrong position.
     
  37. Kiupe

    Kiupe

    Joined:
    Feb 1, 2013
    Posts:
    528
    Good to know ! I hope you will be able to fix that.

    Thanks
     
  38. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    @Kiupe, @Fatswallow
    After more digging and a very helpful bug report from a user, I can come to the conclusion that this issue is not caused by Nested Prefabs. At the moment the most likely cause is TextMeshPro, although it might be an issue with the Unity UI itself. I was able to reproduce the issue (without Nested Prefabs installed) by following these steps (reported by a user, thanks a lot! :))

    1. Create a new canvas.
    2. Set the canvas 'UI Scale Mode' to 'Scale With Screen Size'.
    3. Add a new GameObject to the canvas.
    4. Drag this new GameObject to the project view to create a prefab.
    5. Add a new child to the GameObject in the scene.
    6. Disable the child GameObject.
    7. Select the child and choose the 'Stretch Stretch' preset for the Rect Transform.
    8. Change the 'left' property to 150.
    9. Create a new TextMeshPro - Text object in the canvas (not in the prefab).
    10. Apply changes to the prefab.
    11. The properties of the child changed to: 'Left: 75', 'Right: 75'.
     
  39. Kiupe

    Kiupe

    Joined:
    Feb 1, 2013
    Posts:
    528
    It's great that you found out the cause ! Did you report the bug at Unity or not ?

    Thanks
     
  40. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Yes, I have sent a bug report to Unity. I'll post here if I get any useful response to the bug report.
     
  41. Syganek

    Syganek

    Joined:
    Sep 11, 2013
    Posts:
    85
    We had the same bug in our project. I was trying to reproduce it but I've failed, I would never thought that it was connected to TextMeshPro (some objects affected haven't even had TextMeshPro components). Great job.

    We had to downgrade our project (from different reasons than this bug) to Unity 2017.2.1p2 and we're not affected by this behaviour anymore. I also weren't able to reproduce it on clean project made with this version of Unity.

    It looks like it is a problem in > 2017.3 versions.
     
  42. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Hi everyone,
    We have an exciting announcement to make!

    The source code for Nested Prefabs is now available on Bitbucket. For all of you who want to modify the plugin for your project and/or want to add additional features (for yourself, or for everyone else) you can now clone the repository and code away! The latest version (1.3.0) is required to build the plugin from the source code. We have just pushed version 1.3.0 to the Asset Store, which should be available for everyone in a few days when it has passed the Asset Store review system.

    At the moment we are still working on writing documentation and guides to go along with the source code. These will be uploaded in the upcoming weeks. In the meantime, please feel free to post here or send an email to support if you have any questions about the source.
     
  43. Kiupe

    Kiupe

    Joined:
    Feb 1, 2013
    Posts:
    528
    Hello,

    I'm facing a really weird and scary issue. I have a prefab A which is nested inside another one B. When I change some script property values and hit the Unity editor "Apply" button everything is fine. If I hit "Apply prefab" from the nested prefab dropdown menu then all my script property value modifications are reset. No error message or whatsoever.

    EDIT : I tried to break the link on the prefab B and then re-create the prefab B by drag&drop the GameObject on the prefab B inside the project view. Now when I modified the prefab B in the scene and hit "Apply prefab" the link with the prefab is destroyed.

    To be honest I'm really disappointed and I don't know what to do. I'm using NP for the first time and we have already created a lot of nested prefabs in our project. But know I can't rely on NP anymore but stop using it in our project means a lot a work.
     
    Last edited: Feb 9, 2018
  44. Kiupe

    Kiupe

    Joined:
    Feb 1, 2013
    Posts:
    528
    I have now errors displayed in the console :

    NullReferenceException: Object reference not set to an instance of an object
    VisualDesignCafe.Editor.Prefabs.NestedPrefabHierarchyWindow+<>c__DisplayClass60_0.<AddApplySelf>b__0 (System.Object data)
    UnityEngine.Debug:LogException(Exception)
    VisualDesignCafe.Editor.Prefabs.<>c__DisplayClass60_0:<AddApplySelf>b__0(Object)
    UnityEditor.GenericMenu:CatchMenu(Object, String[], Int32)

    ------------------------

    Nested Prefabs: Unhandled exception (details below). Please report this as a bug to the developer (support@visualdesigncafe.com) if this exception keeps appearing.
    Bug report:
    {
    Message: "NullReferenceException: Object reference not set to an instance of an object"
    Version: "1.3.0.50"
    Unity Version: "2017.3.0f3 (a9f86dcd79df)"
    StackTrace: [
    VisualDesignCafe.Editor.Prefabs.NestedPrefabHierarchyWindow+<>c__DisplayClass60_0.<AddApplySelf>b__0 (System.Object data)
    UnityEngine.Debug:LogException(Exception)
    VisualDesignCafe.Editor.Prefabs.<>c__DisplayClass60_0:<AddApplySelf>b__0(Object)
    UnityEditor.GenericMenu:CatchMenu(Object, String[], Int32)
    ]
    }

    UnityEngine.Debug:LogError(Object)
    VisualDesignCafe.NestedPrefabs.NestedPrefabsAnalytics:LogExceptions() (at D:/Compiler/Source/Closed Source/Editor/VisualDesignCafe.NestedPrefabs/NestedPrefabsAnalytics.cs:470)
    VisualDesignCafe.NestedPrefabs.NestedPrefabsAnalytics:OnEditorUpdate() (at D:/Compiler/Source/Closed Source/Editor/VisualDesignCafe.NestedPrefabs/NestedPrefabsAnalytics.cs:448)
    UnityEditor.EditorApplication:Internal_CallUpdateFunctions()

    ----------------------

    NullReferenceException: Object reference not set to an instance of an object
    VisualDesignCafe.Editor.Prefabs.Comparing.ModificationList+<>c__DisplayClass16_1.<Sort>b__2 (VisualDesignCafe.Editor.Prefabs.Comparing.Modification m)
    System.Collections.Generic.List`1[VisualDesignCafe.Editor.Prefabs.Comparing.Modification].RemoveAll (System.Predicate`1 match) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Collections.Generic/List.cs:514)
    VisualDesignCafe.Editor.Prefabs.Comparing.ModificationList.Sort ()
    VisualDesignCafe.Editor.Prefabs.ReloadOperation.ModifyPrefab (VisualDesignCafe.Editor.Prefabs.Comparing.ModificationList modifications, Boolean revertLocalChanges)
    VisualDesignCafe.Editor.Prefabs.ReloadOperation.Do ()
    VisualDesignCafe.Editor.Prefabs.ApplyOperation.Do ()
    VisualDesignCafe.Editor.Prefabs.NestedPrefabUtility.ApplyChanges (VisualDesignCafe.Editor.Prefabs.Prefab[] prefabs, Boolean includeNestedChildren)
    VisualDesignCafe.Editor.Prefabs.NestedPrefabsPostprocessor.ApplyPendingChanges ()
    UnityEngine.Debug:LogException(Exception)
    VisualDesignCafe.Editor.Prefabs.NestedPrefabsPostprocessor:ApplyPendingChanges()
    VisualDesignCafe.Editor.Prefabs.NestedPrefabsPostprocessor:EditorUpdate()
    VisualDesignCafe.Editor.PostprocessorEventDispatcher:OnEditorUpdate() (at D:/Compiler/Source/Assemblies Source/Editor/VisualDesignCafe.Editor/classes/PostprocessorEventDispatcher.cs:109)
    UnityEditor.EditorApplication:Internal_CallUpdateFunctions()

    ------------------------

    Nested Prefabs: Unhandled exception (details below). Please report this as a bug to the developer (support@visualdesigncafe.com) if this exception keeps appearing.
    Bug report:
    {
    Message: "NullReferenceException: Object reference not set to an instance of an object"
    Version: "1.3.0.50"
    Unity Version: "2017.3.0f3 (a9f86dcd79df)"
    StackTrace: [
    VisualDesignCafe.Editor.Prefabs.Comparing.ModificationList+<>c__DisplayClass16_1.<Sort>b__2 (VisualDesignCafe.Editor.Prefabs.Comparing.Modification m)
    System.Collections.Generic.List`1[VisualDesignCafe.Editor.Prefabs.Comparing.Modification].RemoveAll (System.Predicate`1 match) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Collections.Generic/List.cs:514)
    VisualDesignCafe.Editor.Prefabs.Comparing.ModificationList.Sort ()
    VisualDesignCafe.Editor.Prefabs.ReloadOperation.ModifyPrefab (VisualDesignCafe.Editor.Prefabs.Comparing.ModificationList modifications, Boolean revertLocalChanges)
    VisualDesignCafe.Editor.Prefabs.ReloadOperation.Do ()
    VisualDesignCafe.Editor.Prefabs.ApplyOperation.Do ()
    VisualDesignCafe.Editor.Prefabs.NestedPrefabUtility.ApplyChanges (VisualDesignCafe.Editor.Prefabs.Prefab[] prefabs, Boolean includeNestedChildren)
    VisualDesignCafe.Editor.Prefabs.NestedPrefabsPostprocessor.ApplyPendingChanges ()
    UnityEngine.Debug:LogException(Exception)
    VisualDesignCafe.Editor.Prefabs.NestedPrefabsPostprocessor:ApplyPendingChanges()
    VisualDesignCafe.Editor.Prefabs.NestedPrefabsPostprocessor:EditorUpdate()
    VisualDesignCafe.Editor.PostprocessorEventDispatcher:OnEditorUpdate() (at D:/Compiler/Source/Assemblies Source/Editor/VisualDesignCafe.Editor/classes/PostprocessorEventDispatcher.cs:109)
    UnityEditor.EditorApplication:Internal_CallUpdateFunctions()
    ]
    }

    UnityEngine.Debug:LogError(Object)
    VisualDesignCafe.NestedPrefabs.NestedPrefabsAnalytics:LogExceptions() (at D:/Compiler/Source/Closed Source/Editor/VisualDesignCafe.NestedPrefabs/NestedPrefabsAnalytics.cs:470)
    VisualDesignCafe.NestedPrefabs.NestedPrefabsAnalytics:OnEditorUpdate() (at D:/Compiler/Source/Closed Source/Editor/VisualDesignCafe.NestedPrefabs/NestedPrefabsAnalytics.cs:448)
    UnityEditor.EditorApplication:Internal_CallUpdateFunctions()
     
  45. Hosnkobf

    Hosnkobf

    Joined:
    Aug 23, 2016
    Posts:
    1,096
    Hi,

    Since today I always get the following error in the console after unity compiled my code:
    Not sure if my code is responsible for this somehow... I didn't update Nested Prefabs and this error occured today for the first time...
     
  46. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    My sincere apologies for this issue. It got introduced into the latest version that was released yesterday and didn't appear in our tests and therefore slipped through to the release version. It has been fixed and an update has been submitted to the Asset Store. I will send you a download link in a PM so you can download the latest version with the fix immediately.
     
  47. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    We have been getting the same error since yesterday (though, we didn't change any code). It seems that the validation of the SSL certificate for our servers isn't working properly.
    This error shows because Nested Prefabs will check with our servers for the latest version of Nested Prefabs to see if there is an update. Because the certificate can't be verified an exception is thrown. Which then is caught by our debugger and a debug report is created to show in the Unity console. The debug report contains the Unity Version, which can't be checked from a different thread (from the web request response in this case) and shows this error.

    You can safely ignore this error, it only fails on the update check and all nested prefab functionality works fine. A fix has already been made and has been submitted to the Asset Store. It should be available after the weekend. Please feel free to send a PM if you require the new version sooner.
     
  48. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Hi everyone, we have two important notices:

    1. Version 1.3.0 contains an error when applying changes through the context menu (when right-clicking on a prefab icon). If you have already updated to version 1.3.0 then please contact us and we will send you the latest version with a fix. If you have not yet updated, then please wait a few days until version 1.3.1 is available on the Asset Store (it has been submitted already).

    2. Since roughly yesterday Nested Prefabs has not been able to properly connect to our servers to check for updates of Nested Prefabs. Because of this, an error message shows at editor startup saying 'GetFullUnityVersion can only be called from the main thread'. This error is harmless and can be ignored safely. We hope that it will not cause any confusion. A fix has been made and has been submitted to the Asset Store as well.
     
  49. Kiupe

    Kiupe

    Joined:
    Feb 1, 2013
    Posts:
    528
    @Visual-Design-Cafe thanks, it seems to work as expected ! I will continue my tests but I'm glad that you have been able to fix that quickly !
     
  50. Shinono23

    Shinono23

    Joined:
    Dec 25, 2016
    Posts:
    5
    Hello!

    Was my suggestion added in 1.3.0? I can't find it if it was.