[RELEASED] Rabbit AI Blackboard Pro (and free)

Note; you can also try Rabbit AI Blackboard Lite for free!

Introducing Rabbit AI Blackboard Pro – Transform Your Game’s AI with Advanced Data Management

Harness the full potential of your game’s AI with Rabbit AI Blackboard Pro, a state-of-the-art blackboard system crafted for Unity developers. Built with precision and efficiency, this tool empowers you to create, manage, and enhance complex AI behaviors seamlessly.

WARNING: This package requires the use of Assembly Definitions. Make sure you understand them and know how to prevent circular dependencies before buying.

Core Features:

  • Dynamic Blackboard System: Utilize a robust data structure to share and manage AI information efficiently across various components of your game, making complex AI behaviors simple and maintainable.
  • Automated Code Generation: Simplify your workflow with source generators that automatically produce typed, efficient, and error-free code based on your definitions, drastically reducing development time and potential bugs.
  • Signal-Based Data Management: Each piece of data on the blackboard is managed as a ‘Signal’—a lightweight class that not only holds the value but also triggers events upon changes, ensuring your AI reacts dynamically to the game environment.
  • Event-Driven Architecture: Fully leverage UnityEvents to respond to data changes, allowing for a modular and decoupled design that enhances code clarity and reusability.

Advanced Features:

  • Computed Signals: Define signals that automatically update based on changes in dependent data, perfect for creating reactive and adaptive AI without manual updates.
  • List Management: Manage collections of data with list signals that notify changes efficiently, perfect for handling dynamic elements like inventories or AI states.
  • Serialization Support: Effortlessly save and load blackboard states with built-in JSON serialization, or implement your own!
  • Interfaces: Improve maintainability and testability of your code by using the generated interfaces instead of the concrete implementations.
  • Validations: Make sure your values are always what you expect them to be using simple attributes!

In the pro version all source code (except the source generators) is included!

Get Rabbit AI Blackboard Pro on the Asset Store for $44.99. The first two introduction weeks with 50% off!

Links:
Pro: https://u3d.as/3igL
Lite: https://u3d.as/3iho
Docs: https://blackboard.crashkonijn.com
Discord: CrashKonijn's server

Since releasing on the Asset Store I’ve done another 2 updates. Here is the full changelog so far!

1.0.0

  • Initial release

1.0.1

  • Added better examples
  • Improved editor
  • Better abstractions

1.0.2

  • Improved handling of lists
  • Improved interface generation
  • System will now give feedback about possible mistakes
  • Added more examples

1.0.3

  • Improved editor
  • Improved source generation, increasing future extendibility
  • Added validation attributes

1.0.4

  • Improved editor
  • Added support for nested types
  • Greatly improved API
  • Added more examples
  • Improved docs

1.0.5

  • Fixed bug

1.0.6

  • Fixed bug when building
  • Improved examples
  • Improved docs

Got a couple more updates done!

1.0.7

  • Added the [DebugBlackboard] attribute that allows you so see the generated code in the inspector.
  • Added object list example
  • Improved nested object example
  • Fixed bug where validations weren’t always applied from the inspector
  • Fixed bug with objects in lists not rendering signals
  • Introduced IAllAreSignals and ISomeAreSignals to add clarity. IHasSignals is now obsolete.

1.0.8

  • Feature: Added support for dictionaries!
  • Feature: Added Dictionary example
  • Fix: Removed warnings for public methods on blackboards
  • Fix: Added warning when using non-signal variable as an input for a computed signal.
  • Fix: Using non-signal variables in a computed method won’t break the generated code anymore.
  • Fix: List not throwing event when setting through index (listSignal.Value[0] = "something")
  • Fix: FromData and ToData not always rendering correctly with nested sub types.
  • Fix: Editor computed signals not rendering in correct height, allowing for overlap.
  • Docs: Added more info about list and dictionary signals.