Blackboard breaks when adding a key to a parent BB that a child already has

Hello,

Recently when I was reworking some AI, I found that when adding a new key to a parent BB that a child already has, completely breaks Blackboard. It took awhile to figure out what was wrong because after doing this by mistake, all Blackboard keys in the behavior tree became unset.

I don’t know how exactly this would be fixed. Maybe a warning or defaulting to the child BB’s key?

EDIT: I replicated this in a blank project. Although the other keys are being set properly despite my previous claim, the behavior tree seems to get stuck in root when there are conflicting keys present.

Here are some screens of my setup.

AI Controller

Parent BB (sharing child key with child)

Child BB (sharing child key with parent)

Behavior Tree using Parent BB

Behavior Tree using Child BB

Hey Mastersmith98,

I’ve tested this in a clean project, and I’m not seeing the same issue on my end. Could you provide either a detailed list of repro steps or a simplified test project that showcases the issue? It’s possible that I’m missing a part of the repro that is preventing it from showing up on my end.

Thanks

I am marking this topic as resolved for tracking purposes, as we have not heard from you in a few days. If this issue persists, feel free to respond to this thread. For any new issues, please create a new Answerhub topic.

Have a great day

I know this is a super old (resolved) thread but I just came across this behaviour in my 5.1 project. I ended up having two BBs sharing the same keys so decided to refactor to have a derived parent BB. Aside from the default SelfActor key, any additional keys I created in the parent that already existed in the child would not display as inherited keys when the child keys were deleted. I had to restart the editor to have them appear correctly.

Repro steps:

  1. Have a key setup in the child BB
  2. Add that key to the parent BB
  3. Delete the key from the child BB

I assume there is no sync with the parent when deleting keys or possibly the child key is marked as “dirty” and ignored from the sync? I’m not sure.