Creates a goal whose effect is to maintain an agent’s position within the specified path.


convenience init(toStayOn path: GKPath, maxPredictionTime: TimeInterval)



A path object.


The amount of time for which to predict an affected agent’s movement.

Return Value

A new goal object.


This goal uses the shape and the radius property of the specified path to define the boundaries of an area for the agent to stay in. If an affected agent is outside that area, the agent will move into that area; if the agent is already in that area, this goal will not motivate the agent to move further.

The maxPredictionTime parameter determines how far ahead of time the agent will predict its own movement to fulfill this goal. For example, with a larger value, an agent moving toward the path will begin to slow gradually so as to stop gently within the path’s radius. With a smaller value, the agent will attempt to stop more abruptly as it reaches the path (and depending on its properties, it might not be able to stop quickly enough to avoid overshooting).

See Also

Creating Goals for Path-Following Behavior

init(toFollow: GKPath, maxPredictionTime: TimeInterval, forward: Bool)

Creates a goal whose effect is to both maintain position on and traverse the specified path.