External Behavior in Prefab randomly, completely stops working

Monzerol

New member
My team has been using Behavior Designer for a few months now, and we've had this problem occur multiple times already. At what seem like completely random occasions, some of our prefabs that contain Behavior Tree components with External Behaviors seem to become unable to load their behavior trees, which makes them completely broken.

I think the issue might be triggered when linking variables from the External Behavior to properties that reside in children Game Objects of the prefab, although I'm not 100% sure of this. It also feels like the issue might be linked to Unity's new Prefab workflow. I'm guessing it might have something to do with the new PrefabStage stuff.

Here are the steps that I'm using as a workaround to the issue when it occurs:
1. Delete all existing instances of the prefab (I'm not entirely sure this step is always necessary, but it seems like it sometimes is)
2. Remove the Behavior Tree component from the prefab
3. Create a new instance of the prefab in a scene
4. Add the Behavior Tree component on the instance
5. Re-link all the variables on the new instance
6. Apply the changes from the instance to the prefab

The workaround is only temporary though, because the issue suddenly pops again regularly, and the workaround has to be done again every time.

I think this is a very serious issue, and if not fixed soon might warrant our team to use a different solution than Behavior Designer for our AI. This problem has the potential to be disastrous in production.

I have attached a zip file containing a video demonstrating the state of things when the issue occurs.

Thanks in advance,
Emery

EDIT: We're currently using 2019.2.2f1, but we've had the issue happen on all the different Unity versions we've been using sincewe started using Behavior Designer (I haven't kept track of that, but I'd say we've updated Unity approximately 8-10 times since then).
 

Attachments

  • ExternalTreeBug.zip
    790 KB · Views: 1
Last edited:
That's no good. Are you able to send me a complete repro package that has the error? Or the steps to reproduce?

Also, have you tried JSON serialization instead of binary? You can switch to JSON with the preferences button on the top right of the editor.
 
I will attempt to assemble a repro package as soon as I'm able to fit that into my schedule.

I'll look into the JSON serialization, thanks for the suggestion. :)
 
Top