Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.10.1] - 2024-06-14
Fixed
- Enum fields in a condition don't save user's choice of enum value.
Known Issues
- Graph Editor performance can be slow at the start of an action when there are a lot of nodes.
- Sometimes after dragging a node in and out of a sequence it won't be sequenceable and edges won't connect to it. Re-opening the asset seems to fix it.
- Undo/Redo often causes exceptions.
- Edge rendering has a bit of a snap when moving the lower node above the top node. Needs to be smoothed out.
- Dragging multiple nodes out of a sequence sometimes causes them to be on top of each other.
- Editor window does not react to asset name changes until the window is reopened.
- When creating a new node (i.e. Action, Modifier, Sequencing/Flow), the dialog does not immediately focus the “Name” input field, nor does it automatically focus the “Story” input field.
- Graph Asset gets serialized with minor changes even when no changes were made.
[0.10.0] - 2024-06-13
Added
- Documentation. Documentation!!! Rejoice!
Fixed
- BlackboardVariable will only invoke its OnValueChanged callback if the value has changed. This also fixes situatiosn where the Variable Value Changed Condition was called when the same value was set.
- BehaviorGraphAgent is now public instead of internal when Netcode For GameObjects is included.
- Abort/Restart nodes inspector label is fixed to correctly say "Restarts if"/"Aborts if" depending on the node type.
- Dragging a node within a sequence won't move it if the insertion is where the node already is.
- Improve edge rendering when the end point is above the start point.
- Warnings with regard to UI Toolkit attributes in Unity 6.
Changed
- Conditional nodes (Conditional Guard, Conditional Branch & Repeat While Condition) will now accept custom conditions, and multiple conditions can be added on the nodes.
- Reduced impact on build size by over ~100 MB by removing assets from Resource folders.
- Add Node window title will be "Add Node" instead of Root when at the root option.
- Dragging items into a sequence will sort them by order on the graph, not selection order.
- Rename the Node Inspector title from "Inspector" to "Node Inspector".
- Story text fields on Modifier and Sequencing node wizards are now optional.
- Added more documentation.
Known Issues
- Sometimes after dragging a node in and out of a sequence it won't be sequenceable and edges won't connect to it. Re-opening the asset seems to fix it.
[0.9.1] - 2024-05-24
Fixed
- Move an Editor only method call that leaked into the runtime in #if UNITY_EDITOR.
[0.9.0] - 2024-05-23
Added
- Added new Abort and Restart nodes for interrupting branch execution.
- Condition wizard that enables custom condition creation for Abort and Restart nodes, which can be found through the 'Create new Condition' option when assigning a condition through the inspector.
Fixed
- Fixed null reference errors when ending nodes with no child assigned.
- Improved the visual appearance of nodes by removing extra margins on LinkFields.
- Changes to subgraph assets will now trigger referencing graph assets to be rebuilt.
- Domain reloads will no longer create duplicate runtime assets.
- Deleting custom node scripts will no longer cause the graph to be corrupt.
- Fixed an issue where dialog windows would collapse in size when the graph editor window was resized.
- Fixed an issue where setting the Start node Repeat value from the inspector did not update on the graph node.
Changed
- Nodes in a graph which had their scripts deleted will be replaced with placeholder nodes. These nodes are skipped at runtime.
- Moved the BehaviorGraphAgent component to AI/Muse Behavior Agent.
- Added an icon to the BehaviorGraphAgent component.
- Added info icon to Placeholder Toast message.
- Moved Placeholder Toast to the top.
- Moved the close button to be always on the right side of dialog elements.
- Link button now tints on mouse hover, showing you can click it.
[0.8.0] - 2024-05-02
Fixed
- Fixed WebGL build failures due to compilation errors stemming from reference to the Unity.Muse.Chat namespace.
- Link fields for enum types are now preserved on IL2CPP platforms.
- Enums should no longer be populated with the wrong members. Old enum variables with the error should be deleted and re-added.
Changed
- Nodes no longer need to end their child nodes in OnEnd(). The OnEnd method will serve purely for managing the wrap-up of the node's execution.
[0.7.1] - 2024-04-05
Added
- Debug nodes for logging variable values to the console.
- Added Muse dropdown to the graph editor toolbar.
- Using Generative AI features now consumes Muse points.
- Added 'R' hotkey to frame to the root node.
Fixed
- Applied correct minimum sizes for the Blackboard and Inspector floating panel content.
- Fixed flex style values on branch correction widget panel elements.
- Fixed cast exceptions upon aligning nodes while edges are selected.
- Ensured that list variable item input fields are full width on Blackboard.
- Fixed mismatched field type warnings on conditional nodes and set variable value nodes.
- Event nodes will now correctly update which channel they are listening on when the channel variable is reassigned.
Changed
- Moved OnValueChanged callback to base BlackboardVariable class.
- Generative AI features now use the Muse Chat backend.
Changed
- Disabled behavior graph agents are no longer selectable in the debug menu.
[0.6.4] - 2024-03-22
Fixed
- An issue preventing certain nodes from being added to a sequence.
- Enum creation wizard wouldn't create the fields correctly.
- Node creation wizard stopped updating the preview node.
- Debug warning when assigning a new type of enum to a switch node.
Known Issues
- Enums which share a name with a class from another assembly don't always show correctly in the Blackboard.
- An exception relating to SetName after domain reload.
[0.6.3] - 2024-03-20
Fixed
- Correctly modify event node fields after drag and drop an event channel blackboard variable.
[0.6.2] - 2024-03-20
Added
- Allow drag and drop of variables from the Blackboard onto compatible Node fields (Unity versions 2023.2+ only).
Fixed
- MoveTo actions: Improved stopping distance to take colliders into account and avoid situations navigation can't end.
Changed
- Selecting a new node to be added after pressing the space key will add the node to the end of a sequence if one is selected.
[0.6.1] - 2024-03-18
Fixed
- SearchView: Returning in navigation will correctly select the previous node you entered.
- Move To Target node should correctly update the Nav Mesh's destination if the target moved.
- Fixed an exception related to event nodes.
[0.6.0] - 2024-03-15
Added
- Added PlaceholderActionNodes
- Added creating Placeholder nodes for missing actions when generating a branch with AI
- Added PlaceholderActionNodes widget and navigation
- List variable support.
- Added a OnValueChanged callback for Blackboard variable value changes.
- When connecting an edge, escape key will cancel the edge drag.
- Node creation wizards will now show Vector4 in the dropdowns options.
- Behavior Agent Inspector: Right click context menu to reset variables with an override.
- Allow drag and drop asset to the Muse Behavior Graph field in the inspector.
- Allow drag and drop asset on a GameObject in the hierarchy, adding the BehaviorAgent if needed.
- Allow drag and drop asset on a GameObject inspector space, adding the BehaviorAgent if needed.
Fixed
- Sticky node changes should register for serialisation correctly.
- Dragging a node onto another to create a sequence should correctly maintain output connections.
- Dragging a node or sequence onto an existing sequence, connections should be maintained where possible.
- Search window keyboard controls and arrow navigation should work as expected.
- Blackboard variables on agent that haven't been overwritten should update to new value.
- After deleting an edge, undo correctly restores the link between the UI and asset data, preventing phantom edges.
- Fixed LinkFields not updating their fields values reliably on undo-redo.
Changed
- Area selection will now select edges.
- Duplicating and pasting nodes will select the duplicated nodes.
- Overwritten variables on the agent will show an '(Override)' label.
[0.5.11] - 2024-03-06
Fixed
- Support with latest AppUI package (1.0.2).
[0.5.10] - 2024-03-05
Added
- Added a tooltip for node input fields which displays the field variable type.
- Added a cooldown node.
Fixed
- Fixed the placement of duplicated nodes. When using the duplicate hotkey (CTRL/CMD + D), nodes are now correctly placed at mouse position.
- Fixed assignment of the graph owner object when switching graphs at runtime.
- Fixed stripping of GUID properties in WebGL builds.
- Fixed stripping node types in IL2CPP builds.
- Fixed access to generative features for Muse subscribers.
- Modifying fields in the blackboard now triggers the asset to save.
- Fixed succeeder nodes indefinitely waiting after a child node has completed.
- Fixed modifier nodes not resetting child branch statuses.
- Patrol no longer gets stuck when there are only 2 points.
- Including Netcode for GameObjects caused errors.
Changed
- Reduced the visual size of sequences.
- Increased the hit box for sequences.
- Graphs now add an instance of a newly created type after generation.
[0.5.8] - 2024-01-10
Fixed
- Fixed the alignment of the wizard panel title text.
- Fixed the Vector field widths on inspector.
- Fixed node generation issues when editing the definition of a built-in node.
- Removed unnecessary user prompts when editing a node with hidden variables that are not included in the node story.
- Fixed incorrect method access in BehaviorGraphAgent, causing Netcode for GameObjects errors.
[0.5.7] - 2023-12-08
Fixed
- Max serialisation depth reached errors.
- Vector styling in the inspector and nodes UI inside the graph.
- Color and Vector fields not showing correctly in the GameObject inspector.
[0.5.6] - 2023-12-06
Fixed
- Fixed VariableModel and TypedVariableModel related errors when building with IL2CPP.
- Fixed exceptions in collision nodes.
- UI: EnumLinkField text wrapping shouldn't happen anymore.
- Error with Input System for Unity 2021.
- Correctly diffrentiate InputSystem deprecated APIs across Unity versions.
- LinkField label color wasn't right in some nodes.
- Various Node UI fixes.
- Certain nodes OnEnd weren't called.
Changed
- Collision Nodes: If the tag is empty, detect all collisions.
- Removed scroll bars from the graph canvas.
[0.5.5] - 2023-11-16
Added
- Minimum window size for Muse Behavior Window.
- Move collision nodes from Sample to Package
Fixed
- Fixed UnityEditor call preventing compilation.
- Fixed certain type assignments in subgraph fields.
- Missing meta file warnings.
- Error with Input System for Unity 2021.
Changed
- Updated documentation.
[0.5.4] - 2023-11-16
Fixed
- Error after installing the package caused by the Domain Reload not finding test dependencies.
[0.5.3] - 2023-11-15
Added
- Orange UI stripe on conditional action nodes.
- Debug status for active subgraphs.
- Allow opening the authoring graph by double clicking the runtime sub-asset.
- Add inspectors for Conditional Guard, Branch and Repeat While nodes.
Fixed
- Dependency on unit tests caused an exception on some versions of Unity.
- BlacboardEnum attribute was internal, causing an error when used.
- Fix loss of local value on Set Variable Value node.
- An issue with subgraphs fields not allowing you to set certain types.
- Incorrect null check in FindClosestWithTagAction and FindObjectWithTagAction, preventing them from functioning.
[0.5.2] - 2023-11-14
Added
- New UI designs implemented.
- Hotkeys: A and Shift+A to align selected nodess' immediate children (A) and all nodes under selected nodes (Shift+A).
- Suggested variable types in node wizards.
- Variable equality evaluator node types.
- Auto-linking of variables by name and recent match.
- Switch serialization of graph instances to use JSON to support 2021 LTS and 2022 LTS.