Movement Pack for Behavior Designer Pro

The Movement Pack for Behavior Designer Pro includes 10 tasks focused on movement. The default set of Movement Pack tasks use Unity’s navigation mesh to traverse the world. The Movement Pack doesn’t do the actual movement – it instead sets the destination for the underlying pathfinding implementation (Unity’s NavMesh, A* Pathfinding Project, etc).

Included Tasks

Cover

Finds a place to hide and move to it. The task can optionally look at the cover point after the agent has arrived.

Evade

Evades the target specified. Evade will predict where the target is headed based on the Look Ahead Distance. Evade is similar to Flee except Evade uses the target’s velocity to predict where to move towards whereas Flee only uses the target’s position.

Flee

Flees from the target specified. Flee will predict where the target is headed based on the Look Ahead Distance.

Follow

Follows the specified target.

Move Towards

Move towards the specified position. The position can either be specified by a Transform or position. If the Transform is used then the position will not be used. The Move Towards task does not use any underlying pathfinding implementation and moves the agent with Vector3.MoveTowards.

Patrol

Patrols around the specified waypoints. The agent can optionally pause at each waypoint.

Pursue

Pursues the target specified. Pursue will predict where the target is headed based on the Target Distance Prediction value.

Rotate Towards

Rotates towards the specified rotation. The rotation can either be specified by a Transform or rotation. If the Transform is used then the rotation will not be used. The Rotate Towards task does not use any underlying pathfinding implementation and moves the agent with Quaternion.RotateTowards.

Seek

Seeks the target specified. Seek is similar to Move Towards except uses pathfinding to move.

Wander

Wanders around the available pathfinding area. Wander will determine the next location to move to based on a random angle from the current look rotation.

Integrations

You can download the Movement Pack integrations from this page. After you have imported an integration you can start to use the integration by changing the Pathfindinder field of the Movement Pack task:

Common Questions

Why does the agent wobble at the destination point instead of stopping?

If the agent doesn’t stop moving at the destination point the Stopping Distance parameter on the NavMeshAgent is too small. Try increasing this value. We have had good results with a value of 0.1.

Does the Movement Pack work in 3D space for a space or underwater game?

Pathfinding in 3D space is computationally expensive so there are no pathfinding implementations built into Unity or the Asset Store which can do it. While no true 3D pathfinding implementation exists there are a few workarounds:

  • Fake it by placing an invisible plane that the pathfinding implementation uses. The relative y position can then be adjusted with a separate height adjusting component and the agent will appear to be moving in 3D space.
  • In certain pathfinding implementations (such as Unity’s NavMesh) the height offset can be adjusted. This is similar to the above workaround except it doesn’t require the position to be manually updated.
  • Do not use any pathfinding implementation at all and instead use basic steering behaviors with local avoidance. This would have to be done using custom tasks as the Movement Pack doesn’t support steering behaviors as an implementation.