/// This struct contains information about which graphs the agent can use, which nodes it can traverse, and if any nodes should be easier or harder to traverse.
/// It is useful in numerous situations, for example if you want to make one graph for small units and one graph for large units, or one graph for people and one graph for ships.
/// Filters which nodes the agent can traverse, and can also add penalties to each traversed node.
///
/// In most common situations, this is left as null (which implies the default traversal provider: <see cref="DefaultITraversalProvider"/>).
/// But if you need custom pathfinding behavior which cannot be done using the <see cref="graphMask"/>, <see cref="tagPenalties"/> and <see cref="traversableTags"/>, then setting an <see cref="ITraversalProvider"/> is a great option.
/// It provides you a lot more control over how the pathfinding works.
///
/// <code>
/// followerEntity.pathfindingSettings.traversalProvider = new MyCustomTraversalProvider();
/// </code>
///
/// See: traversal_provider (view in online documentation for working links)