Ninjutsu Games
Asset StoreYoutubeTwitterInstagramSupport
  • 🖐️Welcome!
  • Game Creator 2
    • ☢️Fusion Module
      • Setup
      • Sessions
      • Characters
      • Variables
      • Remote Procedure Calls
      • Settings
      • User Interface
      • References
        • Shutdown Reasons
      • Guides
        • How to test my game
        • How to toggle Debug mode
        • How to Update Fusion SDK
      • Releases
      • 🤝Fusion Factions
        • Releases
      • 💫Fusion Stats
        • Releases
      • 📦Fusion Inventory
        • Releases
      • 🧙Fusion Abilities
        • Releases
      • ⚔️Fusion Melee
        • Releases
      • 🔫Fusion Shooter
        • Releases
    • 🤝Factions
      • Setup
      • Faction Asset
        • Settings Editor
      • Member
        • Memory
      • Visual Scripting
        • Conditions
        • Events
        • Instructions
        • Properties
      • User Interface
      • Releases
      • 🌐Photon Factions
    • 🎮Coop
    • 👑Loot Locker
      • Getting Started
      • Authentication
        • Guest
        • White Label
        • Google
        • Steam
        • Apple Sign In
      • Sessions
      • Save Load
      • Players
        • Player Storage
        • Names
      • Leaderboards
        • Visual Scripting
      • Messages
      • Progressions
      • Replenish System
      • Date Time
        • Server Time
      • Handling Errors
      • Releases
    • 🤖State Machine 2
      • Graph Editor
      • State Machine Runner
      • Nodes
        • Node Features
      • Variables
      • Shortcuts
      • Releases
    • 🌐Photon Module 2
      • Overview
      • Releases
      • 🔫Photon Shooter
        • Getting Started
        • Releases
      • 💫Photon Stats
        • Releases
      • 📦Photon Inventory
        • Overview
        • Releases
      • 🧙Photon Abilities
        • Releases
      • ⚔️Photon Melee 2
        • Troubleshooting
        • Releases
  • Game Creator 1
    • Photon Network
      • Overview
      • Characters
      • Network Items
      • Actions
      • Conditions
      • Triggers
      • Guides
        • How to Connect and Instantiate your Player
        • Instantiation Options
        • How to Sync Attachments
        • How to display room or other network information
        • How to setup Camera Motor
        • How to test my game
      • Sub-Modules
        • 🏃Photon Traversal
        • ⚔️Photon Melee
        • 🔫Photon Shooter
          • Changelog
      • Changelog
    • State Machine
      • Editor Graph
        • Nodes
        • Blackboard
        • Copy & Paste
        • Targets
      • Export State Machines
      • Changelog
    • RPG (Deprecated)
      • Actor
        • Actions
        • Conditions
        • Triggers
      • Attributes
        • Actions
        • Conditions
      • Classes
        • Actions
        • Conditions
      • Skills
        • Actions
        • Conditions
      • Formulas
      • Changelog
    • AI & Factions (Deprecated)
      • Changelog
Powered by GitBook
On this page

Was this helpful?

  1. Game Creator 1
  2. State Machine
  3. Editor Graph

Blackboard

Targets, Enemies, Goals and all you can think of!

PreviousNodesNextCopy & Paste

Last updated 4 years ago

Was this helpful?

State Machine Graphs can not reference scene objects due to living in the Project Panel. To overcome this, we've created the Blackboard, where the developer writes down the input fields he/she'll need and these are filled at runtime.

As you may have noticed in the image above, to access the value of a Blackboard entry is done as if it was a Local Variable. This is because under the hood, the State Machine component generates a new Local Variable component and fills it with all the entries from the Blackboard.

Once the Blackboard is filled with some entries, the State Machine component is automatically updated, adding new entries and removing those that no longer exist in the Blackboard.

For example, let's say our game has a Guard that can attack anything when it has a target defined. We could create a target entry in the State Machine and ask if it's different than null. If so, follow it and attack when it's within in range.

Because the StateMachine component generates a Local Variable object with the Blackboard entries, it will throw a conflict error.

Invoker is a variable automatically generated and it will always have the game object where the State Machine is as reference.

(Can't have a Local Variable with the same name as a Blackboard entry)