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|https://discussions.unity.com/t/behavior-shared-blackboard-initialization/1573473/1]
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
- Volumetric fog shader variants are missing from build when "Strict Shader Variant Matching" is disabled
- Unnecessary modifications clutter the Scene when using a RectTransform driven by a LayoutGroup in a Prefab
- Files in the target folder are deleted without a proper warning when building an iOS project
- Character animation freezes when toggling animator on/off in a coroutine
- Certain textures are incorrectly marked in the render pass list when observed through Render Graph Viewer
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.