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 (1)
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
- Mono Windows Builds don't produce full log callstacks when generating logs
- AssetBundles fail to load when running in Built Players for Mobile Devices
- UI elements with text gets bigger and grey when Player window is moved to another screen with different resolution
- System name accepts multiline text but crops it on confirmation, duplicates input, and shrinks the field when empty
- UI element scale and position are wrong in project build when DRS is changed with HDR and Software Dynamic Resolution enabled
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.