Search Issue Tracker
Fixed
Fixed in 1.0.8
Votes
1
Found in [Package]
1.0.7
Issue ID
BEHAVB-165
Regression
No
Setting a shared blackboard variable during runtime keeps the value when exiting play mode
Steps to reproduce:
- Download and open the attached project "Behavior Shared Variable Issue.zip"
- Open "scene"
- Enter play mode
- Observe the console (it should log the number 0)
- Exit play mode
- Enter play mode again
- Observe the console
Actual results: The console logs 1 indicating variables set during runtime
Expected results: The console logs 0 as variables set during runtime should reset to their default values when exiting play mode
Reproducible with versions:
1.0.7
1.0.3
Can’t test with versions
1.0.2 (blackboard asset doesn't have the Share toggle option)
Tested on (OS): MacOS (M1) 15.1.1
Notes
- Discovered on Discussions forum post
Comments (2)
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- UI Builder windows text rendering breaks when using Rich text combined with an underlined emoji
- [Linux] Crash on mono_runtime_invoke when executing a specific script
- Installing the HDRP Water Samples doesn't notify the user to enable the "Water" on HDRP Asset
- Persistent Memory Leak in `ChunkDrawCommandOutput` and `CullingSplits.InitializeSplits`
- 1 KB or more of GC is allocated when Debug logging
Mariusch
Dec 09, 2025 21:23
Still happens in version 1.0.13
IRFM_VR
Apr 24, 2025 09:14
Hi, I'm facing the same issue, while working on version 1.0.9 and trying to assign a Monobehaviour class to the blackboard shared variable from a Class that sets the Blackboard variables (let's call it BlackboardVariableSetter).
Note that I am editing a RuntimeBlackboardAsset at runtime from a Monobehaviour class (called BlackboardVariableSetter) by running the following code in the Awake() function (simplified for brievety sake, in the snippet below):
AMonobehaviourClass newObjectValue = getNewObject();
Unity.Behavior.BlackboardVariable bbv = processRunnersBlackboard.Blackboard.Variables[0];
bbv.ObjectValue = newObjectValue; // for the sake of brievety, I'm neither checking name, nore type here
The value gets set properly the first time I enter play mode. But when I quit, the values in the blackboard asset remain set. This causes an error the next time I enter play mode and try to access the blackboard shared variables.
To make it work again, I need to manually delete all the Values of the Variables of my RuntimeBlackboardAsset in edit mode from the inspector, before entering play mode again.