Arbor 3.7.0 release


Asset Store

Update contents

Added

Arbor Editor

  • Added the HelpURL attribute so that it can be used to specify the URL displayed by the behavior help button.
  • Added the word “Deprecated” to the title bar when the behavior has the Obsolete attribute.
  • Added to display the word (Missing) when the type referenced by ClassTypeReference cannot be found.
  • Added so that the playback status of a graph is displayed below the graph label during play.
  • Added the mode to always display the logo.
  • Added help button for each type to the additional menu of NodeBehaviour.
  • Added welcome window.
  • [Unity 2018.1 or later] Supported behavior presets.
  • [Unity 2018.1 or later] In the language setting of Arbor Editor, added a mode to refer to the language setting of Unity Editor.
  • [Unity 2019.3 or later] Supported Reload Domain off in Enter Play Mode Settings (Reload Scene off is not supported).

ArborFSM

  • Added the item to select the connection destination in the node list to the menu when dragging and dropping StateLink on the graph.
  • Added the setting item of StateLink display to “View > StateLink” on the toolbar.
  • Visualize pending transitions and destination states in purple if the graph becomes invalid during play.
  • Visualize StateBehaviour that was not active in purple when the graph was disabled during play.

BehaviourTree

  • Added mode to move child node when dragging parent node (Win: Alt+drag, Mac: option+drag)

ParameterContainer

  • The following types have been added to the parameters.
    • AssetObject
    • IntList
    • LongList
    • FloatList
    • BoolList
    • StringList
    • EnumList
    • Vector2List
    • Vector3List
    • QuaternionList
    • RectList
    • BoundsList
    • ColorList
    • GameObjectList
    • ComponentList
    • AssetObjectList
    • VariableList

DataFlow

  • Added “View > DataSlot > Show Flexibly” on the toolbar.
    • Displayed outside the node if the slot is connected.
    • If it is not connected, it will be displayed outside the node if the dragged slot can be connected.
  • Added Parent Graph to Hierarchy Type of Flexible Component and Flexible Game Object.

ArborEvent(InvokeMethod)

  • Added the ability to set values for fields and properties.
  • Added so that types other than Component can be specified.
  • Added so that static class can be specified.
  • Add search filter to type selection popup.
  • Add search filter to member selection popup.

Built-in StateBehaviour

  • Added OnGraphStopTransition for transitioning when the graph is stopped to perform termination processing.
  • Add behavior to change array.
    • List.AddElement
    • List.Clear
    • List.InsertElement
    • List.RemoveAtIndex
    • List.RemoveElement
    • List.SetElement
  • Added SendTriggerFlags to SendTrigger.
    • SendTrigger
    • SendTriggerUpwards
    • SendTriggerGameObject
    • BroadcastTrigger
  • Added a field that can directly set a value to SetParameter.
  • Added a field to specify coordinates directly to InstantiateGameObject.
  • Added a field to specify the timing to make a judgment in CalculatorTransition.
  • Added a field to AnimatorCrossFade that does not cause transition if Animator is already in transition to the specified state.
  • Added StateLink that transitions Arbor side when the state of Animator side is completed in AnimatorCrossFade.
  • Added a flag to AnimatorCrossFade that uses Animator.CrossFadeInFixedTime.
  • Added a flag to the MoveOnWaypoint related script to clear the target point when restarting.
    • AgentMoveOnWaypoint
    • RigidbodyMoveOnWaypoint
    • Rigidbody2DMoveOnWaypoint
    • TransfomMoveOnWaypoint

Built-in ActionBehaviour

  • Added InvokeMethod.
  • Added a field that can directly set a value to SetParameter.
  • Added a type that can specify coordinates directly to InstantiateGameObject.
  • Added a field to AnimatorCrossFade that does not cause transition if Animator is already in transition to the specified state.
  • Added a field to AnimatorCrossFade that waits for the state of Animator to complete the transition.
  • Added a field to AnimatorCrossFade to check whether the state on the Animator side has successfully transitioned.
  • Added a flag to AnimatorCrossFade that uses Animator.CrossFadeInFixedTime.
  • Added CalcParameter.
  • Added a flag to AgentMoveOnWaypoint to clear the target point when restarting.

Built-in Calculator

  • Added a calculation node GetValueCalculator that gets the values of member fields and properties and outputs them to the data flow.
  • Added Calculator related to array.
    • NewArrayList
    • List.Contains
    • List.Count
    • List.GetElement
    • List.IndexOf
    • List.LastIndexOf
    • List.ToArrayList

Built-in VariableList

  • Added GradientList
  • Added AnmationCurtveList

Scripts

  • Added TypeFilterAttribute so that search filter type can be set in ClassTypeReference type field.
  • Add RenamedFromAttribute to set the rename so that references in ClassTypeReference and ArborEvent are not removed.
  • Added ClassNotNodeBehaviourAttribute that excludes only NodeBehaviour
  • Added ClassAssetObjectAttribute to restrict only AssetObject.
  • Added AssetObjectParameterReference.
  • Added FlexibleAssetObject.
  • Added HideTypeAttrubute to hide the type in the type selection popup.
  • Add SendTriggerFlags to prevent sending to resident state with ArborFSM.SendTrigger.
  • [Unity 2019.3 or later]Support SerializeReference attribute.
  • Added a version of callback method that passes node result to Decorator.OnRepeatCheck.
  • Added targetGraph to FlexibleSceneObject.

Changed

Arbor Editor

  • Changed to display the icon set in the script when the type of the type selection popup is Unity object.
  • Changed to display the basic type such as System.Int32 displayed in the type selection popup with an alias such as int.
  • Changed to display connection direction when reroute node is not connected.
  • When the logo display is set to FadeOut, the logo is changed to fade out every time the graph is switched.
  • Changed to display the logo in the foreground when capturing a graph.

ArborFSM

  • Changed the display style of StateLink.
  • When the graph of oneself was invalidated, it changed so that the transition process might be suspended until it was re-enabled.

BehaviourTree

  • Changed the display style of NodeLink.
  • When the graph of oneself was invalidated, it changed so that the transition process might be suspended until it was re-enabled.

ParameterContainer

  • Changed so that the popup of Parameter.Type can be easily organized in the parameter settings specified in subgraphs such as SubStateMachine.

DataFlow

  • Changed the display style of DataSlot.
  • Change the display position of the specified field of the type displayed in such InputSlotTypable.
  • Changed to refer to the graph directly when RootGraph or ParentGraph is specified in FlexibleComponent which refers to NodeGraph.

Built-in StateBehaviour

  • Moved InvokeMethod to Events folder.
  • Renamed Normalized Time of AnimatorCrossFade to Time Offset.
  • Changed Transition Duration and Time Offset of AnimatorCrossFade to FlexibleFloat type.

Built-in ActionBehaviour

  • Renamed Normalized Time of AnimatorCrossFade to Time Offset.
  • Changed Transition Duration and Time Offset of AnimatorCrossFade to FlexibleFloat type.

Scripts

  • IInputSlot
    • Renamed SetInputBranch to SetBranch.
    • Renamed GetInputBranch to GetBranch.
    • Renamed RemoveInputBranch to RemoveBranch.
    • Renamed IsConnectedInput to IsConnected.
  • IOutputSLot
    • Renamed AddOutputBranch to AddBranch.
    • Renamed GetOutputBranch to GetBranch.
    • Renamed RemoveOutputBranch to RemoveBranch.
    • Renamed IsConnectedOutput to IsConnected.
    • Changed GetOutputBranchCount method to branchCount property.
  • Changed ShowEventAttribute and HideEventAttribute to be set on fields and properties.
  • Changed InputSlotAny and InputSlotTypable from directly passing a boxed value to copy the value type.
  • In GetValue of each InputSlot, if the acquired value was null, it was returned false, but changed to judge whether the value is stored (DataBranch.isUsed is true).
  • Changed so that eachField can enumerate internface.
  • Changed ArborFSMInternal.nextTransitionState to return null after OnStateBegin().
  • Changed the namespace of built-in Calculator to Arbor.Calculators.
  • Changed the internal class related to ArborEditor to internal.
  • Changed a class that does not need to be inherited to sealed.

Other

  • Changed the icon of each Arbor component script.

Improved

Arbor Editor

  • Speed up the type selection popup.

Built-in StateBehaviour

  • Improved to use CompareTag to compare GameObject.tag.

Scripts

  • Speed up by caching when enumerating fields.

Load reduction

  • Load reduction when acquiring values from data flows.

Fixed

Arbor Editor

  • [Unity 2017.3 or later] Fixed a bug that the graph scrolled even if you tried to move only the group node with Alt+drag.
  • [Unity 2017.3 or later] Fixed a bug that Arbor-related types were not listed in the type selection window.
  • [Unity 2018.1 or later] It was corrected to exclude it from the preset because it does not operate properly even if the preset is used in the following components.
    • ArborFSM
    • BehaviourTree
    • ParameterContainer
    • SubStateMachine
    • SubBehaviourTree
  • Fixed a bug that the slot frame outside the node frame did not become invalid when DataSlot was displayed as invalid.
    – Fixed a bug that the display of other fields also changed when the display type in EulerAnglesAttribute was changed.
    – Fixed a bug that the reading destination was not switched until the editor was restarted when Language Path was moved to another folder.

ArborEvent

  • Fixed a bug that the reference is broken when the specified type is moved to another module in Unity.

Built-in StateBehaviour

  • When performing MoveOnWaypoint, fixed a bug that the movement does not start if the initial position and Waypoint match.
  • Fixed RigidbodyMoveOnWaypoint and Rigidbody2DMoveOnWaypoint to move with FixedUpdate.
  • Fixed the bug that the Angular Speed field of AgentLookAtPosition was displayed twice.

Scripts

  • Modified to catch the exception that occurred at the time of calling each callback method of Arbor.
  • Fixed that the field was displayed even if HideInInspector was specified for the added field when the data slot was created by itself.

Update Guide

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.

Version update guide

Please refer to the following page for the update guide for each version of Arbor.

Manual : Update Guide