Arbor 3.1.0 release


New function summary

Variable

You can now create your own parameters for ParameterContainer yourself.

Customizing parameters with Variable

Zoom out graph

We implemented zooming out of the graph so that we can see the whole (Unity 2017.3 or later)

GIF

Capture graph

You can now capture the entire graph to an image.

Share child graph with Prefab

By using SubStateMachineReference and SubBehaviourTreeReference it is now possible to execute a node graph as a prefab as a child graph.

GIF

Reference

Update contents

ADDITION

ArborEditor

  • When the graph is not selected, a graph creation button and a button for opening a manual page are displayed.
  • Added zoom of graph (Unity 2017.3.0f3 or later)
  • Added capture of graph.
  • Added graph creation button on toolbar.
  • Added display of Arbor logo when opening graph.
    You can toggle in the setting window from the gear icon.
  • Added update notification of AssetStore.

ArborEditor extension

  • Added underlayGUI callback which can customize the back side to ArborEditorWindow class.
  • Added overlayGUI callback which can customize front side to ArborEditorWindow class.
  • Added toolbarGUI callback which can customize toolbar to ArborEditorWindow class.

ParameterContainer

  • Add Variable to add user-defined type.
  • Added VariableGeneratorWindow to create Variable definition script from template.

AgentController

  • Added MovementType field.
  • Added MovementDivValue field.
  • Added TurnType field.
  • Changed to transfer movement value and rotation amount to Animator according to MovementType and TurnType.

Built-in StateBehaviour

  • Added AgentLookAtPosition to rotate AgentController in the direction of specified position.
  • Added AgentLookAtTransform to rotate AgentController int the direction of specified Transform.
  • Added SubStateMachineReference which executes prefabricated ArborFSM as a child graph.
  • Added SubBehaviourTreeReference which executes prefabricated BehaviourTree as a child graph.
  • Added SetActiveScene to activate the scene.
  • Add IsActiveScene field to LoadLevel.
  • Added Done transition to LoadLevel.

Built-in ActionBehaviour

  • Added AgentLookAtPosition to rotate AgentController in the direction of specified position.
  • Added AgentLookAtTransform to rotate AgentController int the direction of specified Transform.
  • Added SubStateMachineReference which executes prefabricated ArborFSM as a child graph.
  • Added SubBehaviourTreeReference which executes prefabricated BehaviourTree as a child graph.
  • Added display of elapsed time to Wait action.

Built-in Decorator

  • Added display of elapsed time to TimeLimit decorator.
  • Added display of elapsed time to Cooldown decorator.

Scripts

  • Supports Assembly Definition (Unity 2017.3.0f3 or later)
    Following this support, the folder structure has also changed.
  • Added rootGraph property to NodeGraph class.
  • Added ToString method to NodeGraph class.
  • Added GetName method to Node class.
  • Added ToString method to Node class.
  • Added InputSlotAny class which can specify input type.
  • Added OutputSlotAny class witch can specify output type.
  • Added AnyParameterReference class witch can specify the type of parameter to refer.
  • Added FlexibleField<T> generic class version of Flexible type class.
  • Added variableValue property to Parameter class.
  • Added SetVariable method to Parameter class.
  • Added GetVariable method to Parameter class.

CHANGES

ArborEditor

  • Change Grid button to gear icon, rename popup window displayed by pressing button to GraphSettings window to set other than grid.
  • Move the toolbar language popup to the GraphSettings window.
  • Changed to display the menu for opening asset store and manual page from the help button of the toolbar.
  • Changed the highlight display to the easy-to-see design when mouse over the connection line.
  • Change resizing of group nodes so that they can be dragged on each side.
  • Change it so that multiple selection can be made by holding Ctrl or Shift in the side panel node list.
  • When dragging the direction of the reroute node, press Esc key to change it so that it can be canceled.

Built-in StateBehaviour

  • Change Additive field of LoadLevel to LoadSceneMode field.
  • Change the Seconds field of TimeTransition to FlexibleFloat type.

Scripts

  • Changed to use reference types commonly used in FlexibleField related class.
  • Property such as Parameter.intValue etc.
    Changed to call onChanged when set.
  • Added set to Parameter.value property.

OBSOLETES

Scripts

  • Changed Parameter.OnChanged method to Obsolete.
    OnChanged is now internally called back when changing Parameter.intValue etc, so calling is no longer necessary.
  • Change AddCalculatorMenu attribute to Obsolete.
    Changed to use AddBehaviourMenu attribute in common.
  • Change BuiltInCalculator attribute to Obsolete.
    Changed to use BuiltInBehaviour attribute in common.
    Also, since the BuiltInBehaviour attribute is an attribute for built-in behavior, there is no problem if you do not use it otherwise.
  • Change CalculatorHelp attribute to Obsolete.
    Changed to use BehaviourHelp attribute in common.
  • Change CalculatorTitle attribute to Obsolete.
    Changed to use BehaviourTitle attribute in common.

FIXES

ArborEditor

  • Fixed that active display was kept on ArborEditor even when BehaviourTree ended.
  • Fixed height of Calculator type field of FlexibleGameObject.
  • Fixed that the graph name input field in the side panel was kept in focus even if you clicked anything other than the input field.
  • Fixed that pressing the Esc key while dragging a connection line such as StateLink or CalculatorSlot left line display during dragging.
  • Fixed that the appearance of the header style of the side panel was changed depending on the version of Unity.
  • Fixed that editing such as cutting and pasting of text could not be done with FlexibleString with ConstantMultilineAttribute.
  • Fixed occurrence of NullReferenceException when starting playing or switching scenes with docked ArborEditor window hidden.
  • Fixed incorrect display position of connection line to node outside screen when exiting play mode.
  • Fixed that node name was not copied when copying Action node.
  • Fixed that node name was not copied when copying Composite node.
  • Fixed that grid snap was not working when pasting or duplicating node.
  • Fixed that the connection line did not disappear even if State was deleted when State transition source is a reroute node.
  • Fixed that the connection line will not be redrawn immediately if you redo the state connecting StateLink after deleting it.
  • Fixed Undo / Redo of node selection.
  • Fixed that memory leak occurred when repeating Undo / Redo of node creation and deletion.
  • Fixed bug when performing graph selection Undo / Redo.
  • Fixed to prevent Frame Selected when node was not selected.

ArborFSM

  • Fixed that NullReferenceException occurs when doing RemoveComponent of ArborFSM in Unity 2018.1 or later.
  • When dragging and dropping the prefabricated ArborFSM onto the scene window, the component used inside the graph is displayed in the inspector.

BehaviourTree

  • Fixed occurrence of NullReferenceException if interruption judgment is made at the timing when the current node becomes Root.
  • Fixed that NullReferenceException occurs when doing RemoveComponent of BehaviourTree in Unity 2018.1 or later.
  • When dragging and dropping the prefabricated BehaviourTree onto the scene window, the component used inside the graph is displayed in the inspector.

AgentController

  • Fixed a bug that referenced Transform of AgentController itself.
  • Fix to initialize AgentController with Awake.

Built-in StateBehaviour

  • Fix SubStateMachine UpdateType to Manual
    Changed to handle at the appropriate timing by UpdateType of route graph.
  • Fixed that ArborFSM no longer appears in the inspector when adding SubBehaviourTree.

Built-in ActionBehaviour

  • Fixed Wait’s Seconds recalculating every frame.

Built-in Decorator

  • Fixed TimeLimit’s Seconds recalculating every frame.
    – Fixed Cooldown’s Seconds recalculating every frame.

Scripts

  • Fix State.transitionCount to uint.
  • Fix to prevent State.transitionCount from exceeding uint.MaxValue.
  • Fix StateLink.transitionCount to uint.
  • Fixed StateLink.transitionCount not to exceed uint.MaxValue.

Others

  • Fixed that it took time to start when play started immediately after script compilation.
  • Fixed error in Unity 2018.2.0 Beta version.

Related Unity issues

Some problems in behavior have occurred due to a problem with Unity.

Asset Store

Update procedure

Please follow the procedure below when updating Arbor.

  1. Please be sure to make a backup of the project before the update.
  2. If you are opening an existing scene, create a new scene from “File / New Scene” in the menu.
  3. If you are opening the Arbor Editor window, close it once.
  4. Already Removed Arbor folder that have been imported.
  5. Import a new version of Arbor.