Asset Store
Known Issues
Unity Bug
Since Unity 2022.1, an exception occurs when the language of Arbor Editor is set to Japanese.
Please set the language setting to English until the Unity side is fixed.
Bug reported to Unity.
Update contents
Added
Arbor Editor
-
- Arbor Editor window now supports UI Elements.
(In the custom editor of the script for the node, you can implement the UIElements compatible editor by implementing the CreateInspectorGUI () method.) - Added the function to open the target node with Arbor Editor when it stops at the breakpoint of the node.
(Enable by opening the settings menu in the Arbor Editor window and turning on “Open node at breakpoint”) - Added “Highlight Script” to the settings menu in the behavior title bar.
- Added “Highlight Editor Script” to the settings menu in the behavior title bar.
- Arbor Editor window now supports UI Elements.
Hierarchy
- Added the ability to display Arbor related component icons in Hierarchy GameObject.
(Enable by opening the Settings menu in the Arbor Editor window and turning on “Show icons in Hierarchy”)
ObjectPool
- Added lifetime settings for objects stored in the pool.
Behaviour Tree
- Added a function to logically calculate the judgment results of multiple Decorators.
Built in Component
- Added behavior to AgentController
See Agent behavior control for more information.- Hide that moves to a position hidden by obstacles
- Pursuit that moves to the predicted position considering the movement speed of the target
- Interpose that moves to a position that interrupts between two objects in consideration of the moving speed
- Wander that moves to a position that randomly changes direction with respect to the current direction of travel
- Evade that moves away from the predicted position considering the movement speed of the target
- Added behavior control when passing OffMeshLink to AgentController.
For details, see AgentController#Traverse Data and Setup example. - Added clearVelocity argument to AgentController.Stop.
- Added checkRaycast argument to AgentController.MoveToRandomPosition.
- Added component MovingEntity for predicting the destination in consideration of moving speed.
- Added MovingEntityCharacterController
- Added MovingEntityNavMeshAgent
- Added MovingEntityRigidbody
- Added MovingEntityTransform
- Added OffMeshLinkSettings
- Added AnimationTriggerEventReceiver
Built in StateBehaviour
- Added SetRendererColor
- Added SetRendererFloat
- Added SetRendererMaterial
- Added SetRendererTexture
- Added SetRendererTextureOffset
- Added SetRendererTextureScale
- Added SetRendererVector
- Added AnimatorPlay
- Added AddComponent
- Added DestroyComponent
- Added RestartScene
- Added PauseNodeGraph
- Added PlayNodeGraph
- Added ResumeNodeGraph
- Added StopNodeGraph
- Added AgentEscapeFromPosition
- Added AgentEvade
- Added AgentHideFromPosition
- Added AgentHideFromTransform
- Added AgentInterpose
- Added AgentPursuit
- Added AgentWander
- Added pool lifetime settings (Life Time Flags and Life Duration fields) to InstantiateGameObject.
- Added Ignore UI field to MouseButton**Transition.
The related scripts are: - Added Clear Velocity field to AgentStop.
- Added Clear Velocity On Stop field to Agent scripts.
- Added CantMove StateLink to Agent scripts.
- Added Check Raycast field to AgentMoveToRandomPosition.
- Added Radius field to AgentMoveOnWaypoint.
- Added MaterialIndex field to Renderer related Tween scripts
The related scripts are:
Built in ActionBehaviour
- Added Idle
- Added PauseNodeGraph
- Added PlayNodeGraph
- Added ResumeNodeGraph
- Added StopNodeGraph
- Added AgentEvade
- Added AgentHideFromPosition
- Added AgentHideFromTransform
- Added AgentInterpose
- Added AgentPursuit
- Added AgentWander
- Added Clear Velocity field to AgentStop.
- Added Clear Velocity On Stop field to Agent scripts.
- Added Check Raycast field to AgentMoveToRandomPosition.
- Added Radius field to AgentMoveOnWaypoint.
Built in Decorator
- Added DistanceCheck
Built in Calculator
- Added Enum.Equals
- Added Enum.NotEquals
- Added Enum.ToInt
- Added Enum.ToString
- Added Enum.TryParse
- Added Int.ToEnum
- Added GetRendererColor
- Added GetRendererFloat
- Added GetRendererMaterial
- Added GetRendererTexture
- Added GetRendererTextureOffset
- Added GetRendererTextureScale
- Added GetRendererVector
- Added GetSprite
- Added Camera.ScreenPointToRay
- Added Camera.ScreenToViewportPoint
- Added Camera.ScreenToWorldPoint
- Added Camera.ViewportPointToRay
- Added Camera.ViewportToScreenPoint
- Added Camera.ViewportToWorldPoint
- Added Camera.WorldToScreenPoint
- Added Camera.WorldToViewportPoint
- Added Input.GetMousePosition
- Added Ray.Compose
- Added Ray.Decompose
- Added Ray.GetDirection
- Added Ray.GetOrigin
- Added Ray.GetPoint
- Added Ray.SetDirection
- Added Ray.SetOrigin
- Added Ray.ToString
Built in scripts
- Added a function to logically operate the judgment results of multiple elements in the Calculator Condition.
The related scripts are: - Added a function to logically operate the judgment results of multiple elements in Parameter Condition.
The related scripts are:
Scripts
- Supports async / await.
See async/await for more information.- Wait until the next OnUpdate call with the PlayableBehaviour.Yield method.
- Wait until the next OnExecute call with the ActionBehaviour.WaitForExecute method.
(If you wait with the WaitForExecute method, it is essentially the same as calling inside OnExecute, so you can use the FinishExecute method.) - Added PlayableBehaviour.CancellationTokenOnEnd property.
- UniTask compatible.
If UniTask is installed, it can be converted to UniTask with Yield().ToUniTask()
For details, refer to Use of UniTask.
- Added AnimatorParameterReference.nameHash property.
- Added Decotator.OnRevaluationEnter method.
- Added Decorator.OnRevaluationExit method.
Examples
- Added 19(OffMeshLink) as an example of OffMeshLink traverse setting of AgentController.
- Added 20(ObjectPool) as an example of ObjectPool.
Changed
Arbor Editor
- Supports node name change for all node types.
- Changed to display the behavior title bar on the calculator node.
Behaviour Tree
- Changed to automatically display AbortFlags field and Boolean field even if Decorator’s custom editor is implemented.
- Changed the default behavior of ActionBehaviour.OnExecute from “return failure” to “do nothing”.
ObjectPool
- Changed to stop when the graph is pooled.
- Changed to start playback if playOnStart is true when the graph returns from the pool.
- Changed to sleep when Rigidbody is pooled.
- Changed to wake up when Rigidbody resumes from the pool.
- Changed to sleep when Rigidbody2D is pooled.
- Changed to wake up when Rigidbody2D resumes from the pool.
Built in Component
- Changed the Add Component menu of Agent Controller to “Arbor > Navigation > Agent Controller”.
- Changed Waypoint’s Add Component menu to “Arbor > Navigation > Waypoint”.
- Changed AgentController to derive from MovingEntity class.
- Renamed AgentController.Follow to MoveTo
Built in StateBehaviour
- Renamed AgentEscape to AgentEscapeFromTransform
- Renamed LoadLevel to LoadScene
- Renamed UnloadLevel to UnloadScene
Built in Decorator
- Changed so that it does not interrupt even if AbortFlags.LowerPriority is set in TimeLimit.
Parameter Container
- Changed the parameter addition menu to the Add Component menu format.
Unity support
- Raised Unity’s minimum action version to 2019.4.0f1.
- Support for Unity2022.2.0b2
Examples
- Unified namespace to “Arbor.Examples”.
- Unified the group of AddComponent menu to “Arbor > Examples”.
- Unify the group of behavior addition menu to “Examples”.
Improved
Data flow
- Improved enum type boxing
(To minimize the boxing of enum types, register the target type with ValueMediator.RegisterEnum<T>())
Built in Component
- Adjusted the behavior so that it does not fit as much as possible when cornered by the wall with AgentController.Escape.
Built in scripts
- Improved boxing of SetParameter
- Added support to disable related scripts when the Unity UI package is removed.
- When Active Input Handling is set to “Input System Package (New)”, the related script is disabled.
Update Guide
Update procedure
Please follow the procedure below when updating Arbor.
- Please be sure to make a backup of the project before the update.
- If you are opening an existing scene, create a new scene from “File / New Scene” in the menu.
- If you are opening the Arbor Editor window, close it once.
- Already Removed Arbor folder that have been imported.
- Import a new version of Arbor.
Version update guide
Please refer to the following page for the update guide for each version of Arbor.