Bug with exposed variable in prefab overrides Behaviour tree owner

NodeCanvas Forums Support Bug with exposed variable in prefab overrides Behaviour tree owner

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #16834
    epicgian
    Participant

    Hi,

     

    I am impressed with the use of node canvas. we are thinking to adopt it in our studio.
    We have found although a very interesting bug in the inspector of behaviour tree owner and prefab overrides

    The following steps to repro.

    1. Create a tree with two variables and make them public. VarA int and VarB bool
    2. create a prefab with the treeOwner and assign the asset graph to it in prefab mode
    3. use the triangle button to override the values of the variables still in prefab mode.
    4. exit prefabmode. Right click on the varA to remove the variable override
    5. varB gets marked in blue as having prefab override.

    The serialisation in scene is added for varB instead of var A
    The wanted behaviour should be that varB should not be marked dirty.
    This happen on multiple variables if you have more than 2.

    This is a fundamental bug for our workflow.
    Pls let us know what can be done.

    Unity version 2022.2.11f1 on MacOS

    #16837
    zsoik
    Participant

    Wanted to add that property overrides on blackboards are (and probably still are) a major pain point. We’ve already had awkward situations where one deletes a variable from a base prefab and it causes funny shifts of value assignment in derived prefabs or scenes. I know there was work done on this topic to improve the behaviour (maybe check discord or dig a bit deeper in the forum), but from experience I can only tell that one should be cautious when using blackboards and overrides.

    #16839
    epicgian
    Participant

    Thanks zsoik! There is defo a bug! I am addressing the developer of NodeCanvas any plan to fix it? It seems a major issue

    #16843
    Gavalakis
    Keymaster

    Hello,

    Thank you for letting me know. Prefab overrides are admittedly a pain for variables and overrides because these are serialized in a list and therefore when a variable/override is remove at the start of the list, the rest of the variables/overrides change their index in that list. This is why when you remove one, the others after that one are marked overriden, while the others before that are not. With that said, this is something I will have to fix/handle anyway. The simple solution will be to disallow removals and only allow value changes for overrides, but I will try to handle both. I will look at this again within the coming week.

    Thank you!

    Join us on Discord: https://discord.gg/97q2Rjh

    #16850
    epicgian
    Participant

    Thanks a lot for your reply. I have been investigating the issue as well and reached the same solution. Changing the array in prefabs instances or variance will cause issue. It would be great also to handle the case when in the root prefab the graph changes changing also the exposed parameter making any override invalid. A way to mark them as invalid or clean them up would be great.

    Thank a lot!

    #16851
    epicgian
    Participant

    Also This would happen when the graph is edited and exposes less or more variables.

    Thank a lot!

    #16926
    epicgian
    Participant

    Hi,

    any update on this? I saw an update was release but not fix for this major issue.

    Many Thanks

    Gianluca

Viewing 7 posts - 1 through 7 (of 7 total)
  • You must be logged in to reply to this topic.