> For the complete documentation index, see [llms.txt](https://infinitypbr.gitbook.io/magic-pig-games/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://infinitypbr.gitbook.io/magic-pig-games/game-modules-4/module-documentation/blackboard.md).

# Blackboard

## Overview

The **Blackboard** module adds a virtual blackboard to your project, allowing you to write data to it, which other objects can be notified about, or read the values of.

Essentially, the **Blackboard** allows objects to pass data into a central repository which other objects can then retrieve, without having to talk to each other. The **Blackboard** module will also notify objects that follow specific *topic*/*subject* values, or subscribe to events that are passed into the **Blackboard**.

{% embed url="<https://youtu.be/qdN1BkWg9Jo>" %}
This video demonstrates basic use of the Blackboard with the creation of the Blackboard Demo Scene.
{% endembed %}

{% hint style="success" %}

### Static reference to Blackboard is MainBlackboard

You are able to have multiple `Blackboard` objects in your scene. To help keep the required blackboard separated, the static reference to it is `MainBlackboard`.

The `Blackboard` prefab in the `_Repository Prefabs` folder has a `MainBlackboard` component on it, which creates the static reference to this objects `Blackboard`, which you can access with `MainBlackboard.blackboard`.
{% endhint %}

{% embed url="<https://www.youtube.com/watch?v=Z24cqqMmONk>" %}
