A blackboard is a simple data structure that holds data as key/value pairs. Each entry in a blackboard has a name (the key) and a basic value type, such as
string. Entries can be added and modified at any time.
Blackboards are a convenient data structure to share information between different systems. Apart from pure data storage, the blackboard implementation in EZ may also send messages whenever a value of an entry changes. This way a system can react immediately to a change, without having to poll the blackboard regularly.
In C++ code you can use the
ezBlackboard data structure directly. In scenes and prefabs you can attach a blackboard component to an object. Systems that require a blackboard to function, such as animation controllers, will traverse the object hierarchy upwards to find a blackboard component which they can use to read and write their state.