Change Log

The long road before and a long one ahead

– Version 2.6.3 –

  • New: Unity 5.6 Tested.
  • New: Added PerSecond/PerFrame option in operations like SetFloat.
  • New: PreferredTypes are now handled per project. Note that they will be reset to default. Please re-set those, or save a preset before updating.
  • New: Better FSM transitions layout.
  • New: FSMOwner.GetCurrentState now takes into account SubFSMs recursively.
  • New: Icons for Dialogue Tree.
  • New: Hierarchy icons now display the state of the behaviour owner (running/paused/stopped).
  • New: [Tooltip] attribute is now supported as expected.
  • New: [Protected] attribute for nodes (so that they can’t be deleted once added).
  • New: [Icon] attribute now has modes to replace title or append to title.
  • New: Dialogue Tree Multiple Choice node; Choices are now reorderable as expected.
  • New: Dialogue Tree default UI now has typing sounds.
  • New: Added “Status.Optional”.
  • New: Prefs options to show node IDs.
  • New: Apex Path Integration.
  • Mod: Improved searching query of Node/Task Browser.
  • Mod: Graph names confusion is now removed. Asset names are used instead.
  • Fix: No longer asks for Unity API upgrade.
  • Fix: Scene not getting dirty when editing a bound graph.
  • Fix: AOTClasses generator for nested types.
  • Fix: Instantiating gameobject with multiple GraphOwners bug introduced in latest version.
  • Fix: Resolving Enumerable Type arguments.
  • Fix: Windows Universal 10 errors.
  • Fix: Optional Status Decorator.

– Version 2.6.2 –

  • New: Unity 5.5 support.
  • New: Editor performance improvements.
  • New: Improved Re-Linking connections and now also possible for BehaviourTree and Dialogue Tree nodes.
  • New: Action/Condition Lists are now handled automatically.
  • New: Types (including generic types) and methods will now resolve and fallback to other matches by searching types without namespace.
  • New: SubDialogue Tree node for Dialogue Trees.
  • New: Dialogue Tree asset graphs are now possible to be created and be used in a similar way that BTs and FSMs do.
  • Mod: FSM SuperActionState node will now auto-Finish if there are not OnUpdate list actions.
  • Mod: Node/Task Browser is now considerably smaller in size.
  • Mod: Obsolete methods/properties and fields are now excluded from menus.
  • Fix: Duplicate and Delete shortcuts for multiple nodes. Fix: Panning Graph is now undoable.
  • Fix: Control Graph Owner action task when set to StopBehaviour of “self” agent.
  • Fix: Memory allocations when using Dynamic Variables.
  • Fix: Export to JSON, will now correctly include derived graph data if any.

– Version 2.6.0 –

  • New: When a node or connection is selected, used Blackboard variables by that selection will now be highlighted.
  • New: Dynamic and missing parameter variables will now show in red within the Node & Task information UI.
  • New: AutoCast assigned Parameters will now show information of the cast that will take place (eg AutoCast: “Float” > “String” ).
  • New: Added button to ‘Promote’ a dynamic or missing parameter to a Blackboard Variable.
  • New: Improved Variable Separators and it’s now possible to have a custom name for them (double click to edit).
  • New: Added ability to colorize Canvas Groups through it’s right click context menu.
  • New: Added ability to colorize Nodes and it’s associated icons through their inspectors.
  • New: BT Icons are now colorized by default (dark skin only).
  • New: Script Control Task & Variables Binding now work with base definition of method and properties (The lowest implementation in class hierarchy is used).
  • New: FSMs will now not be Finished/Stopped if there is an AnyState node active.
  • New: Changed FSM SuperActionState behaviour to not Finish when the OnEnter list actions are Finished. Instead it will continue calling OnUpdate actions until a transition is made.
  • New: Added new Behaviour Tree composite node “Binary Selector”. (Based on a condition it simply either executes left or right child node).
  • New: Mecanim Set Parameter actions can now also be used the hashID instead of name.
  • New: Added breakpoints in BT Action/Condition nodes, as well as FSM States and Dialogue Tree nodes.
  • New: Added NC Preference to optionally Pause Unity Editor when a Breakpoint is reached.
  • New: Right Click in the Node/Task Browser window now goes back one step.
  • Fix: Breakpoints in SubTrees correctly pause the root Behaviour now.
  • Fix: OnGraphStarted that was not called in SubTrees.
  • Fix: Status visual debugging for BT Repeater Decorator node.
  • Fix: Inability to Bind Blackboard Variables when editing a prefab.
  • Fix: “Send Global Event” from sending multiple events in graphs of the same gameobject.
  • Fix: “Create Defined Blackboard Variables” command, that was incrementally adding Global BB name (eg “Global/”) for global variables.
  • Fix: Task agent resolving to first component instance when multiples of the same type are on the gameobject and when agent is override instead of always esolving to the override agent assigned.
  • Fix: NC ObjectDrawer and PropertyDrawer that were not utilized when placed under an “Editor” folder.
  • Fix: OnUpdate is now called once in the same frame (and after) that OnExecute is called for ActionTasks.
  • Fix: FSM Transitional Condition List Information UI from disappearing in runtime when parent state is not active.
  • Fix: FSM restarting memory allocations.
  • Fix: FSM Nested BT State that was not sending events correctly back to the FSM.
  • Fix: Added missing Task information texts.
  • Fix: AOT Classes Generator for non-namespaced classes.
  • Fix: When duplicating or pasting nodes, they will now be auto selected.
  • Fix: Win Universal Apps 10 support.
  • Fix: IOS EXE_BAD_ACCESS in Task.cs (thanks to emilio.saffi).
  • Fix: Requirement of “.Net” backend (instead of “.Net Subset”).

– Version 2.5.6 –

  • New: Blackboard Variables can now be bound to static properties and fields.
  • New: Added search in Preferred Types Editor.
  • New: Added new Preference Option (“Use Browser”). If true the complete browser will be used instead of normal context menu.
  • New: Added Favorites in Browser.
  • New: Added search comparison mode in Browser.
  • New: When searching in Browser, results are now categorized respectively with foldouts.
  • New: Added “Decorate” context menu option for Behaviour Tree nodes.
  • New: Dialogue text can now also work with global variables for replacements eg: [Global/myFloat]
  • New: Added ‘Check Event Value’ condition task.
  • New: [EventReceiver] can now be used in tasks to catch events send directly.
  • New: Execute Function/Check Function can now work with up to 6 parameters.
  • New: Comments TextArea is now expandable.
  • Fix: Graph will no longer ever reset due to deserialization errors.
  • Fix: Dialogue actor parameters no longer go red/missing when renaming parameter.
  • Fix: Recovering from missing nodes no longer resets it’s variables.
  • Fix: OnEnable/OnDisable not being called in conditions within ConditionList.
  • Fix: Check Function, Check Property “No Blackboard Reference” issue.
  • Fix: Leaking SubGraph instances when destroying graph owner in runtime.

– Version 2.5.5 –

  • New: Added ability for Custom Object and Attribute Drawers, similar to Unity native ones.
  • New: Auto-Properties are now inspectable in editor as read-only fields.
  • New: Refactoring namespace for methods/properties references in Script Control tasks, are now handled correctly.
  • Fix: Critical bug where child object references in prefabs were not referenced correctly when the prefab got instanciated in runtime.
  • Fix: BBParameters no longer lose references due to name changes, that was happening in some cases.
  • Fix: Missing methods/properties in Script Control tasks not showing the missing method in red.
  • Fix: Object editor window errors when entering/exiting playmode.

– Version 2.5.0 –

  • New: Improved deserialization GC/speed by 300%
  • New: Parameter and return type handling of Script Control tasks are now better at finding a replacement automaticaly.
  • New: FSM-NestedBT node can now be set to pause when the state exists and resume when re-entered instead of always stop/restarting.
  • Mod: Updated included DOTween to latest version.
  • Mod: Blackboard variables panel in editor window is now scrollable.
  • Mod: Added Gizmos in tasks that were missing them.
  • Fix: Support for Unity 5.4
  • Fix: Serialization error relevant to multiple scenes.
  • Fix: “Create New” variable from BBParameter dropdown in asset graph without Blackboard reference bug.
  • Fix: OnDrawGizmos and OnDrawGizmosSelected are now called in nested graph nodes and tasks.

– Version 2.4.5 –

  • Fixed FSM nodes being shown as dark blanks in some rare ocasions.
  • Fixed CheckEvent in FSM not being checked in the first frame.
  • Fixed Editor GUI error when creating tasks in an Asset Graph.
  • Fixed GlobalBlackboards error message that wasn’t actualy an error.
  • Added Timeout ConditionTask.
  • Added ability to drag&drop objects or scrips in the Preferred Types Editor for easy adding types in the list.

– Version 2.4.4 –

  • Added link.xml file auto-generation based on Preferred Types.
  • Ensure WebGL support.
  • More deserialization speed improvements.

– Version 2.4.3 –

  • Added Super Action State to FSMs.
  • Allowed DynamicVars for agent override parameter.
  • Improved AOT class generator to work with attributes on any class.
  • Script Control Tasks now always show all component types instead of only the ones currently attached on the agent. Much improved DialogueGUI.
  • Added “Skip On Input” and “Wait For Input” options in DialogueGUI.
  • When MultipleChoice options are shown, now so do the previous dialogue text.
  • MultipleChoice options are now added irelevant of the child connected nodes.
  • Fixed AnyState “No Retrigger” bug.
  • Fixed VS warnings.
  • The OnGUI DialogueGUI has been deprecated.

– Version 2.4.2 –

  • Fix: iOS error.
  • Fix: Deserialization recovery from missing Tasks and Nodes.
  • New: Variables can now be bound to fields except from only properties.
  • New: Parameters can now be linked to assignable types of Variable. You can now for example link a Transform to a Vector3 directly!
  • New: Added “Replace Node” context menu option in BT Composits and Decorator.
  • New: Added Straight Line connection style preference.
  • New: “Set Other Blackboard Variable” action.
  • New: Added GreaterOrEqual and LessOrEqual to comparison methods.
  • Mod: Improved BT Parallel to repeat child nodes automaticaly if set to Dynamic.

– Version 2.4.1 –

  • Hotfix 2.4 issue with default value serialization.
  • New: “Log Events” preference option.
  • Mod: Even faster deserialization.
  • Mod: Much faster editor performance.
  • Mod: Better Undo.
  • Fix: BBparameters losing reference to blackboard in some cases.

– Version 2.4.0 –

  • Fix: Deserialization is now fixed and fast.
  • New: “Don’t Retrigger Active State” in AnyState.
  • New: “Create New” option in the BBParameter dropdown selection.
  • New: “DontDestroyOnLoad” option for Global Blackboards.
  • Mod: Dialogue Dynamic text in brackets will now be replaced with a variable only if one is found.
  • Fix: Copy/Paste amongst different graphs.
  • Fix: FSM callbacks where only the last MonoBehaviour in the stack was receiving the callback.
  • Fix: Editor performance.
  • Fix: Node browser will now autofocus the search text field.

– Version 2.3.8 –

  • New: Added variables seperator.
  • New: Added editor indicator that Unity is in play mode.
  • Mod: Global Blackboards are now persistant between scenes.
  • Mod: DOTween actions are now interruptable.
  • Fix: Unity 5.2 editor warnings.
  • Fix: Using BBVariables in nested graphs.

– Version 2.3.7 –

  • New: Blackboard variables are able to network sync with UNET.
  • New: UGUI based Dialogue GUI.
  • New: Preferred Types list can now be saved/loaded to preset files.
  • New: [PopupField] attribute can now accept a string path to a static property to fetch popup values from.
  • New: Added OnEnable and OnDisable in ConditionTask.
  • New: BT Iterator is now immediate. Iterations happen in same frame.
  • Fix: Editor window canvas being misplaced when opening a new graph. Position and zoom is now correctly saved.
  • Fix: Blackboard deserializing error when a serialized variable type is missing.

– Version 2.3.6 –

  • New: Action List Player component to run lists of standalone actions independand of graph.
  • Fix: Errors when Webplayer was active platform.
  • Fix: Warning message for Unity 5.1

– Version 2.3.5 –

  • Fix Unity 5.1 warnings
  • New: [ShowIf] to show a field only if the boolean (in string) provided field is true, or not true.
  • New: [PopupField] to restrict values of a field through a popup.
  • New: [SliderField] can be used with integers.
  • New: [Name] can now be used on top of fields.
  • New: [ForceObjectField] to use above interface field types.
  • New: Action & Condition List Presets import/export.
  • New: Dialogue Tree MultiCondition Node.
  • New: Default method parameters are now taken into account for when selecting methods in Script Control tasks.
  • New: Improved SubTree, SubFSM node info to show the parameter name used in case it’s parametrized with a blackboard variable.
  • New: SubTree and SubFSM node inspectors now also show the Sub BT or FSM defined parameters along with a button to create the missing variables defined.
  • New: Double click a node now opens the Task script instead of Node script, if a task is assigned at all.
  • New: Inherited members from Unity classes are now shown in “more” for menu clarity.
  • New: Added extra button next to “Add Task” for opening up a complete browser.
  • Mod: Entering the same FSM state is now possible (relevant to AnyState).
  • Fix: Destroying FSMOwner from inside it’s own FSM.
  • Fix: Probability Selector from messing up weights after a child returns Failure.
  • Fix: Preferred types editor that was reseting under certain conditions.
  • Fix: Prefered types filtering that was not taking into acount certain types.
  • Fix: Static C# and Static Function call that were showing only Component types.
  • Fix: “COLLAPSED” button that was misplaced when zoomed out.
  • Fix: .agent property being null in editor.
  • Fix: Color issue when multi selecting and right clicking extremely fast (for those furious people).

– Version 2.3 –

  • Fix iOS errors.
  • Fix WP8/WSA errors.
  • Removed BT beta mutator nodes for clarity.
  • Added new set of “Script Control” tasks to work in all platforms. You should use these when targeting anything other than standalone or web.
  • Fixed issue with blackboard and Unity object references in some occasions.
  • Added new set of tasks: Shout Event, Check C# Event (T). Check Static C# Event. Check Static C# Event (T). Set List Element. Set Random Bool. Set Random Integer. Start Dialogue Tree. Say Dialogue.

–Version 2.2–

  • Added “Execute Static Function” Task to call any static function in any class. Remember that the classes shown to be selected are the ones added in the “Prefered Types Editor” window.
  • Added Flee and Wander action tasks.
  • Added control Click to select/deselect multiple nodes
  • Added dropdown selection menu in the editor toolbar to quickly jump between different GraphOwners in the scene.
  • Added ability to minimize/maximize node inspector similar to how variables inspector is done, by clicking the header.
  • Added ‘Repeat Actions’ in the Concurrent fsm node.
  • Added missing icons for Behaviour Tree WaitUntil and Timeout Decorator nodes.
  • Added option to set variables to ‘non-editable’. Useful if you are working with other people.
  • Added ability to pan the canvas with ALT + click and drag for trackpads.
  • Added a small highlight to the out connections of the currently selected node.
  • Added support for ‘Type’ variables, editor inspection and selection.
  • Added a utility editor window “Scene Graph Owners”, that shows all the current GraphOwners in the scene and the ability to select them.
  • Added event send and receive logging in the console for easier debugging.
  • Improved the Light/Indie theme.
  • Fixed WP8 and Store Apps errors.
  • Fixed most iOS errors.
  • Fixed node multi-selection editor GUI errors.
  • Fixed override agent from variable that was not changing when the variable was changed.
  • Fixed OnInit that was not called in tasks that did not define an AgentType.
  • Fixed Task Search, that was showing type names within the results.
  • Fixed editing nested graph losing reference to GraphOwner after a scripts recompile.
  • Fixed editor null reference exception that was thrown some times after exiting play mode with the NC editor open.
  • Removed greyed out/disabled object fields when editing a prefab owner or asset graph.
  • Renamed “Binded” to “Bound”:)

–Version 2.1–

  • Fixed prefab handling of GraphOwners and Binded Graphs (duplication, instantiation, overrides etc)
  • Fixed ExecuteFunction error with parametless method selected
  • ScriptControl tasks now show agent field before method selected
  • Fixed deserialization errors
  • Added safety check for deserialization
  • GraphOwner now starts the graph OnStart for the first time, then normaly OnEnable
  • Fixed Event conditions being true for 2 frames
  • Fixed canvas groups inside other groups are now panned
  • Fixed Webplayer Builds
  • Log Variable Tasks now logs the name of the variable too
  • Log Text tasks now shows a UI label as before
  • Added SendEvent(string) on GraphOwner as a override shortcut to SendEvent(EventData)
  • Right click connections now shows a context instead of default collapse/expand

–Version 2.0–

(Version 2+ is incompatible with prior version)
Please take a look at this forum post as well for more in depth version changes as well

SERIALIZATION

  • No more extra game objects and monobehaviours are being created.
  • Graphs are now Asset files.
  • Whole graph is now serialized in JSON. Import & Export graphs to file (json format).
  • Full handling of missing nodes and serialized state recovery if refound.
  • Removed VariableData. Blackboard can have ANY variable data type.
  • Removed need to create BBParameters. You can simply use BBParameter<T>.
  • Blackboard Save/Load now works with ALL platforms. Save Load is now done by providing a string for key.( .Save(“saveState1”), .Load(“saveState1”) ).
  • Generic Tasks ( eg MyTask<T> : ActionTask ) are now listed and can be used visualy and ALSO with the constrains imposed.

GRAPHS, NODES & TASKS

  • All Reflection Tasks can now show any type of parameter or method Vastly optimized all Reflection (Script Control) Tasks (They are now direct delegate calls without value boxing) Basicaly its like calling the method directly.
  • ScriptControl Tasks now use ReflectedType instead of DecalredType, meaning that a set_name will not result in Object.name, but rather in selected type.name.
  • SendEvent and CheckEvent Tasks can now communicate variables between them ( SendEvent<T> & CheckEvent<T> ).
  • BT Accessor renamed to Conditional Accessor.
  • New BT Nodes { Timeout, Invert, WaitUntil }.
  • BTComposite now have a ‘Breakpoint’ option in the context menu.
  • Added missing PrioritySelector icon.

EDITOR

  • Improved graph manipulation in canvas (panning canvas instead of nodes).
  • Added Smooth FocusTo (“F”).
  • Added smooth Editor zoom.
  • Added CanvasGroup Rectangles.
  • Node Copy/Paste between graphs (on top of Duplicate and assigned Task Copy/Paste).
  • Mulitple nodes copy/pasting while keeping “formation” starting at mouse position.
  • Scene Object References are disabled while editing an Asset (Persistant Object) when showing EditorGUILayout.ObjectField.
  • A Warning Icon is now shown on nodes that *possibly* have an issue (but not definetely).
  • Added button when selecting variable for a parameter, to automaticaly create and assign a new blackboard variable of the type required (any type).

WORKFLOW

  • Graph Assets can be made local (Binded) to the scene.
  • Binded Graphs can be saved back to Asset Graph.
  • All graph now work with IBlackboard interface, you can use and start a graph with your own implementation if you like.
  • Re-enabled “Create SubTree from Branch”.
  • Added option to automaticaly create DefinedVariables in the graph on the current blackboard.
  • Deprecated Variables Sync Components in favor of integrated Blackboard variables-property binding which is much faster and flexible.
  • Removed ‘Global’ option from Blackboards. Instead there is a new Component, “GlobalBlackboard” to use for global communcations.
  • TaskAgent override will now show only types of AgentType and GameObject to be selected from Blackboard.
  • Added generic version of ActionTask<T> and ConditionTask<T> to define target AgentType instead of using the [AgentType] attribute.
  • Added SetAny and CheckAny (Variable) Action and Condition Tasks.
  • Nested target Graphs in Nested Nodes, are now BBParameters, thus able to further parametrize the root behaviour based on the agent using it.
  • Added missing foldouts for Lists. Now also added for Dictionaries.
  • The Blackboard panel in the editor window is now max/minimized by clicking on it (instead of the toolbar button which has been removed).
  • FSM Drop Connection on canvas now pops a Menu to add a state (similar to BTs & Dialogues).
  • Task and Node names no longer need their own script with same name (but should if you want to open them with the c# icon).
  • *The DialogueTree module, will be a new seperate FREE for a limited time NC extension asset named DialogueCanvas.

–Version 1.6.0– 

  • Fixed buggy 1.5.9w version.
  • Prefab Editing is now possible.
  • Added direct Property Binding for Blackboard Variables.
  • Added Behaviour Tree ‘Priority Selector’ node.
  • Added ‘Repeat State Actions’ in FSM Action State.
  • Total refactor of Variable for vast performance increase and minimized GC.
  • Total refactor of Action execution for vast performance increase and minimized GC.
  • Working with Global Blackboards is now more convenient.
  • Added ‘Duplicate Branch’ in Composite nodes context menu.
  • Added option to ‘Automatic Hierarchical Move’ without the need to hold SHIFT to do that.
  • Fixed Chec/Set Enum tasks.
  • Fixed variable runtime assignments.
  • Fixed Coroutines in ExecuteFunction task.
  • Deprecated ‘Duplicate by Reference’ for BT Action and Condition nodes.

–Version 1.5.9– 

  • Unity 5 support.
  • Script Control tasks very increased performance by using delegates instead of pure reflection.
  • Improved Editor UI  graphics and nodes.
  • Override Agent is now possible to be picked by a Global Blackboard.
  • Added Blackboard copy/paste variables in component context menu (gear icon).
  • ‘Implemented Action’ (Script Control) task now accepts 1 paramter.
  • BT Parallel Composite node now has an extra policy option “FirstSuccessOrFailure”.
  • The Switch Composite node now works much easier with Enums, showing the enum values on the children connection for direct feedback.
  • Similarily the Probability Selector shows the chance %, for each child node on the connection to them.
  • The Accessor Decorator will now read if it is set to Dynamic or not like the rest of the dynamic featured nodes.
  • ‘Show Comments’ is now a global option.
  • The ‘Auto Connect’ option has been removed.
  • ‘Defined Graph Parameters’ info UI will now also show for FSMs.
  • Properties will no longer show in the NodeCanvas Task inspector.
  • Fixed: Overrided agent parameter will now show in ‘Defined Graph Parameter’ info UI.
  • Fixed: NC taking control over Animator in some cases.
  • Fixed: SetEnum / CheckEnum tasks.
  • Fixed: Action tasks that in some rare cases were keep running after an interruption.
  • Fixed: Mac context menu for when selecting methods / properties / field.
  • Fixed: Move action tasks when destination was (0,0,0).
  • Fixed: Remapper not remapping “Failure to Inactive” correctly.
  • Fixed: WP8 build errors.
  • Fixed: Runtime agent-behaviour bindings that when using Tick() directly resulted in errors.

–Version 1.5.8– 

  • Unity 4.6 GUI support and tasks.
  • Added Blackboard Property Binder! Bind any property with a blackboard variable!
  • All Script Contorl tasks can now work even with unknown agent, by selecting the expected type.
  • Added new Editor Window to configure commonly used Types for your project, that will show up whenever a Type selection is needed. Huge time saver!
  • Added FSM State option to check transition either continouesly (like before) or only after the State is Finished.
  • Tasks are now deactivated when their Initialization fails.
  • Shared Blackboard will now show up in variable selection drop down even when they don’t contain a variable of the type currently required.
  • Added onRootStatusChanged event in Behaviour Trees.
  • Added onValueChanged event in VariableData.
  • Added SetEnum and CheckEnum Tasks.
  • Blackboard.AddData is now public.

–Version 1.5.6– 

  • Blackboard variables are now re-orderable
  • Method/Property selection now show full type info
  • Performance boosted
  • Fixed GC alloc when using Script Control tasks
  • Fixed nested FSM nodes

–Version 1.5.5– 

  • Added Blackboard Mecanim Binder!. Sync mecanim parameters with blackboard variables!
  • BT Step Iterator node
  • BT Flip Selector node
  • BT Switch node
  • BT ‘Optional’ Decorator node
  • BT Iterator V2 (Iterate any list type)
  • AgentType can now also be an interface
  • UnityEngineObject variable can also be set to an interface
  • When overriding agent, variables of the agent type will also show up instead of only gameobject variables
  • Abstract variables are now handled
  • Check Property/Field/Method will show a comparison method selection when the type is float or integer
  • Set Vector can now also multiply, add etc the 2 vectors together
  • FSM will once again finish when reaching a Finished State with no transitions at all
  • Better Task serialization safer to name refactors
  • Missing assigned Tasks will now show their names in red instead of just disapearing
  • Task assignable nodes can now “inherit” icons from the assigned task if task has the Icon attribute defined
  • Editor Assemblies will no longer show up in relevant pop ups
  • Added ‘Task Search’
  • Added ‘Graph Defined Parameters’ information for Graphs
  • Fixed Prefab instantiation reference issues
  • Fixed Web player not working properly due to reflection
  • Fixed error foe when readin from problematic assmblies
  • Fixed some GUI related errors when entering a nested graph
  • Fixed VariableData name safety check
  • Fixed Repeat Times in BT Repeater node to be an Integer instead of float…
  • Fixed Nested Dialogue Trees no returning their status correctly
  • Fixed missing scrolbar in generic object editor window

–Version 1.5.3– 

  • Added 45 new Tasks
  • Full Enum serialization and support + Enum blackboard variable type!
  • Execute Function can now execute Coroutines as well!
  • Script Control Tasks now show all Unity object parameters
  • Check Function can now accept one parameter.
  • Check Property/Function/Field can now check any type of variable instead of only boolean!
  • Added Quaternion variable
  • Added AnimationCurve variable
  • Added List<string> variable
  • Added List<float> variable
  • Added List<Vector3> variable
  • Tasks in ActionLists and ConditionLists can now be disabled/enabled!
  • Added new Behaviour Tree Guard Decorator.
  • The BT Accessor decorator now has a dynamic option, possible to interrupt decorated child if condition no longer is true.
  • OnAnimatorMove can now be used in Tasks.
  • -EDITOR-
  • Multiple nodes selection
  • Branch nodes can now be Collapsed/Expanded
  • Added Disable/Enable on node context menu
  • Branches can now be deleted recursively as a whole
  • Task assignable nodes now have a context menu Copy/Paste Task
  • Added new Task Wizard Editor for faster creation of custom Tasks
  • Condition Lists are now also re-orderable
  • Added OnGizmos and OnGizmosSelected in tasks (override)
  • Vastly improved light theme
  • All overloaded function in Script Control tasks will now show correctly.

–Version 1.5.2– 

  • New Looks!
  • Window Phone 8 & Store Apps support
  • Conditional Connections from BT nodes have been deprecated
  • When deleting a node with 1 parent and 1 child, that parent and child will be auto connected
  • Removed running time UI from FS State nodes
  • Removed IDs UI from Dialogue Tree nodes
  • Improved Grid Snapping
  • Added option to display only the name of a task instead it’s full summary info
  • NC menu moved under Window/NodeCanvas
  • Added menu for creating custom Tasks easier.
  • Added ‘BBVar’ to be used when want to simply select a Blackboard variable of any type
  • The SendMessage Task can now optionaly send any blackboard variable as an argument
  • The EventHandler can now Subscribe and Dispatch events based on strings instead of only Enum names
  • Faster Editor
  • Cleaned up nodes help information text
  • States now call OnStateEnter, OnStateUpdate and OnStateExit with IState argument on any MonoBehaviour on the agent that have such a method.
  • Fixed BT Parallel bug.

–Version 1.5.1– 

  • Draging a new connection in the canvas will pop the node menu and auto connect selected node. Build trees faster (BT, Dialogue)
  • Added BBMaterial, BBTexture2D, BBRigidbody and more Unity Object derived BBVariables
  • Added BBComponentList, BBObjectList
  • Easy to add custom BBVariables deriving Unity Object or not
  • Super easy add blackboard custom variable data
  • Custom Editor in Blackboard for custom types or lists of custom types
  • ‘Implemeneted Action’ Script Control Task
  • BT node tags for finding nodes from code
  • BT nodes can now also be named (when working in text mode)
  • Added 2 BT Mutator nodes. Switcher and Toggler (beta feature)
  • Editor background grid
  • The behaviour info will now show on top left if no node selected instead of top middle
  • Removed some UI coloring
  • Fixed FSM stepped connection mode
  • Fixed platform compression texrure issues
  • Fixed Playmaker actions
  • Fixed error in EditorUtils when getting texture (non accessible method issue)
  • More Code cleaning, refactoring and commenting

–Version 1.5.0– 

  • Dynamic Variables
  • Global Variables
  • External Inspector Window
  • Nicer debug controls
  • Dragable reorderable lists
  • Draging branches is now done with SHIFT+Click instead of CONTROL+Click
  • Some namespace, class and method refactoring. (Read the included readme for update)

–Version 1.4.8– 

  • Full Undo/Redo
  • Connections Relinking
  • Execute Function Task can now execute a function of up to 3 parameters and save the return value
  • GetField and SetField Tasks
  • Nested Dialogue node for both Behaviour Trees and FSMs
  • Editor Lock button
  • Custom Types are now inspected. Even in lists
  • BBComponent variable type can be set to any Component derived type
  • SendTaskMessage method to send a message to all tasks of a graph
  • SwitchGraph method to easily switch behaviours at runtime
  • It’s now easier to make custom Behaviour Tree nodes and FSM states along with their icons
  • Dialogue Tree can now be stoped/paused/resumed properly
  • When a dialogue tree node is selected the blackboard reference will change to the node’s selected dialogue actor
  • Dialogue Actor now has a Say method
  • FSM will no longer automaticaly end when reaching a finished state with node connections
  • FSM transitions are now checked before the state is entered
  • Action Lists now have the option to ‘Run In Parallel’ or in sequence as default.
  • Various Fixes
  • Various new Tasks

–Version 1.4.6– 

  • Action Tasks can be paused. When they do, OnPause is called to be handled as well as they will cease to update until resumed.
  • BTs will now correctly pause along with any nested graph in them both nested BT or nested FSM.
  • FSMs can now also be paused/resumed along with any nested graphs.
  • Added debug controls on FSMOwner inspector to do so as well.
  • Behaviour Tree node connection will now automaticaly be sorted for you instead of relinking when wanting to change priorities.
  • So will Dialogue Tree node connections.
  • Added option for curved or stepped connection styles. Also smoothed the curve a bit to be more..relaxed.
  • Debbuger Decorator will now show a small B on the top right if it is set as a BT break point.
  • Added [RequiresComponent] attribute to be used on top of a BBGameObject. This is checked in editor along with missing info if any as well as for correct initialization.
  • Added [TextAreaField] attribute to use on top of a string field to show it as a..text area.
  • All layout attributes (SliderField, TagField etc) can now be used on top of BBVariable fields as well. The control will of course show only if a direct value assignement is made and not set to read from the blackboard.
  • LayerMasks will now show in inspector.
  • Bounds will now show in inspector.
  • FSM AnyState node, now has an outgoing port on the bottom as well for better layouting.
  • Fixed some minor bugs.
  • Fixed Editor perfmance
  • Fixed MonoManager cleanup error when changing scenes
  • Changed the GraphOwners Inspector to show the currently assign ‘template’ graph
  • Added hierarchy ‘icons’ for GraphOwners and Graphs
  • Actions will show a pause icon when they are..paused
  • Added max iteration count in Iterator Decorator

–Version 1.4.5–

  • Fixed Editor ‘click through’ inspector & blackboard issue.
  • Fixed middle mouse that was panning node instead of whole canvas when on top of a node.

–Version 1.4.4–

  • It’s now possible to select an Override Agent from the blackboard for tasks, instead of only direct assignment. Allows for much flexibility.
  • List<T> will now show up for inspection in the editor. You can also use List<BBFloat> for example.
  • Behaviour Tree Repeater now has an option to Repeat Forever.
  • Behaviour Tree Probability Selector can now be assigned probability values from the blackboard. This allows to change probability dynamicaly.
  • Action/Condition Tasks can now be copy/pasted.
  • Nested BT and Nested FSM Graph Name in FSMs, will get their name from the state name.
  • FSM Transition can now be prioratized.
  • FSM. Alt + Click on a state will debug enter that state in the editor.
  • FSMs will now store their last state. ( access with previousStateName property )
  • Blackboard Component variables can now be set to a specific Component derived type.
  • Made much easier to add custom BBTypes.
  • Improved Action & Condition Lists to take up minimum space. The compact list is kept but only one Task is shown full at a time.
  • Nested graphs can now be opened with Double Click on the node.
  • Dialogue MultipleChoice. Choices will no longer get removed when disconnecting a child node.
  • Removed BB value information that was shown bellow such a control in the inspector, to clear up things.
  • Added small “X” button on connection inspector to remove connections.
  • Fixed Behaviour Tree Accessor Decorator.
  • Fix bug with override agent when graph was cloned.
  • Fix List editor window.
  • Fixed move actions.
  • Cleaned up some code.
  • Added agent speed and keep distance to move actions.
  • CheckTrigger & CheckCollision can optionaly save the other gameobject.
  • Added some more Tasks.

–Version 1.4.3– 

  • Fixed bug on MAC context menus
  • RequiredField attribute will now also work on BBVariables to check their value
  • BBVariable names will no longer get automaticaly cleared when their name doesn’t exist in the current blackboard.
  • Category and AgentType attributes will now be inherited to concrete classes.
  • Dialogue Say node Text can now display a variable value from the blackboard by using square brackets in the text (eg [myFloat] )
  • Tween Action Tasks

–Version 1.4.2–

  • Fixed StartCoroutine from within Tasks and nodes.
  • Default naming for Tasks will no longer display the namespace in front.
  • When a Task is minimized it will display the summary information.
  • Fixed Dialogue Action & Condition node assigned Tasks that were not minimized.
  • Fixed a small bug in the move Action Tasks where they were not reseted correctly in very spcific cases.
  • Dialogue Trees can now be stoped as well by calling StopGraph() on them.

–Version 1.4.0–

  • A lot of performance improvement!
  • 2D Unity events are now handled. Added CheckTrigger2D and CheckCollision2D Condition Tasks.
  • Added Color, Vector2 and System.Object Blackboard variables.
  • It’s now possible to send a method message to all Tasks of a graph by calling SendMessage on the GraphOwner.
  • Connections can now get disabled/enabled. Even in runtime as always. For Behaviour Trees, it is like the node is not connected at all.
  • More Tasks. Notably Mecanim ones.
  • BT Probability Selector:
    “The Probability Selector will select and execute a child node based on it’s chance to be selected. It will then return whatever that child returns. The Probability Selector may immediately return Failure if a ‘Failure Chance’ is introduced or no childred are connected.”
  • BT Limiter Decorator:
    “Limits the access of it’s child node either a specific number of times, or every specific amount of time(aka cooldown).”
  • BT Accessor Decorator:
    “Accessor will execute it’s child node if the Condition Task assigned is true and will return whatever the child node returns. Accessor will return Failure if the Condition is false and the child node is not already Running. It is kind of the opposite and complamentary to the Interruptor.”
  • Added remap to Inactive, in Remapper Decorator. By inactive it means that the node will be treated as not connected at all.
  • All decorators will now be treated as inactive if they have no child node.
  • Added behaviour tree breakpoints (no unity pause). A breakpoint can be set in the Debugger Decorator.
  • Dublicate by Reference! BT Action & BT Condition (for now) nodes can be “Dublicated by Reference”(Context Menu). What this means is that any ActionTask or ConditionTask assigned respectively to the “master” node will be referenced to the referenced node. Changing one will change the other. It is possible at any point, to “Break Reference” in the dublicated node, while creating a new copy of the Task assigned to the “master”. A referenced dublicate node shows a small “R” on the top right.
  • Make Nested. Re-added the ability to create nested BT trees through the Context Menu of a BT node. This will create a new NestedBT node and add the selected node and all of it’s children within that new NestedBT node. (Use with care since it’s impossible to “Un-Nest” a NestedBT right now, but soon will)
  • FSM Concurrent State:
    “This node will execute as soon as the graph is started and in parallel to any other state. This is not a state per se and thus it has no transitions as well as it can’t be Entered by transitions.”
  • Removed the ‘Agent’ dropdown selection in the BT, FSM Graph Owner inspectors.
  • Added debug controls in BT, FSM Graph Owner inspectors. Start, Stop, Pause, Tick..(when in play mode)
  • Tasks can now be folded/unfolded in the inspector by clicking their titlebar. (More useful in task lists)
  • Added Dublicate as a right click context menu on the nodes on top of existing CTRL+ D.
  • Context menu tasks and nodes, are now also alphabeticaly ordered instead of only their categories (duh!)
  • Action Tasks will now get enabled while they are running and disabled when they finish.
  • Fixed UI bug when adding node and canvas was scrolled.
  • Fixed bug in GetProperty Action.
  • Fixed BT Parallel bug where children were re-executed.

–Version 1.3.0–

  • Optional Icon mode. (BTs for now) that generaly take the same space as the text mode, so layout will stay the same.
  • State Machine transitions will now be automatically layouted. As such changing input & output sides is removed and obsolete.
  • Removed nodes from the top of the editor. They are now added with right click on the canvas (frees up even more space to work on).
  • Nested BT in State Machines will optionaly fire an Event when the BT’s root returns either Success or Failure. (To be used along with Check Event condition on the transitions).
  • Nested FSM in Behaviour Tree will now return Success or Failure based on the current FSM’s state.
  • Dublicate Nodes with Control + D is now possible.
  • Dragable Action & Conditions Task titlebars.
  • Right click context menu on Task titlebars to open script editor.
  • Replaced “=” with a radio button (when choosing blackboard variables).
  • Fixed some Editor UI bugs.
  • Added a Condition to check a CSharp Event (Select component, select event to subscribe. When it is raised, condition becomes true).
  • Added even more examples, some Actions and Conditions.

–Version 1.2.7–

  • Added namespaces.
  • Behaviour Tree Interruptor decorator: Can be assigned a Condition and if the condition is or becomes true it iterrupts the child nodes if running.
  • Get Property Action that gets a property from selection and stores it in the blackboard.
  • Reflection Based Tasks (Get / Set / Check Property, Execute Function) will now show options for int and string as well.
  • Add System Event conditions (Trigger, Mouse, Collider).
  • Custom Event Check Condition and Send Action.
  • Light(indie) skin.
  • Auto initialized BBValue types
  • Dialogue Tree statement node editor will now wrap text based on its scale.
  • Added some more generic actions
  • Organized task categories better
  • Added 2 very simple BT examples for those who don’t know how BTs works

–Version 1.2.6–

  • Two ways Playmaker Integration.
  • Added ‘Update Interval’ option to Behaviour Trees.
  • Made the top of the window to look like an actual toolbar.
  • Option for node grid snapping.
  • Option for auto connect new node if another node is already selected.
  • Moved the node information in the editor inspector panel if option to show Node Info is on, instead of the bottom of the editor.
  • Editor Blackboard window is now a non movable panel on the top right.
  • Redesigned Blackboard variables UI to be cleaner.
  • The current value of a Blackboard variable in a Task will show bellow the field.
  • Removed the label showing the current state of the node and instead the state is now shown with node border colors.
  • Changed Running color from purple to yellow and Success color from yellow to green.
  • Color coded the titles of the most common Behaviour Tree nodes as to be easier to read the graph.
  • Renamed ‘Prime Node’ to simply ‘Start’.
  • Removed the node ID from the name of the Behaviour Tree nodes.
  • Fixed an issue where the nodes were showing in front of the editor inspector panel.
  • The Execute Funtion and Check Function Tasks now also show inherited members instead of only declared.
  • Possibly more things that I dont remember

–Version 1.2.5–

  • C# version!
  • Simplified workflow.
  • Automatic Editor UI for Action and Condition Tasks and attributes to help in helping layout.
  • Reflection based Action and Condition (Execute Function, Set Property, Get Property).
  • Simplified Blackboard Editor UI.
  • Blackboard links now keep reference to name changes.
  • Even more readable nodes.
  • Better API
  • Fixes…

–Version 1.2.0–

  • Editor UI Overhaul!
  • FSM first implementation!
  • Dialogue Tree first implementation!
  • Ability to Save and Load Blackboard variables to PlayerPrefs!
  • Lot of Action and Condition Tasks included.
  • Various fixed and improvements.

–Version 1.0.0–

  • “Hello World”!