PathNodes are reference points in 3D space, similar to info_target / path_corner entities in the Source engine.
Created by Right Clicking in the 2D view and selecting Nodes > PathNode.
PathNodes are general-purpose positional targets used by several Fio systems:
PathNodes can be linked together using Next Node, forming an ordered path or patrol chain.
See example maps:
maps/Maze.jsonandmaps/MonsterTest.json
PathNodes appear as small orange cubes in the world.
| Property | Description |
|---|---|
Radius |
The radius around the node considered to be the monster's arrival area. The default is 256 units. |
Show Radius |
Displays the node's radius in the editor, making the effective arrival area visible. |
Affects Type |
Determines which monster types can use the node: human, flying or both. Movers ignore this restriction. |
Next Node |
Name of the next PathNode in the chain. Monsters and movers can follow these links to traverse a sequence of nodes. |
Wait Time |
How long a patrolling monster or mover waits after reaching the node before continuing. |
Patrol Speed |
Movement-speed multiplier while following the node. 1.00× is normal speed. |
The 2D editor displays the node's radius and affected monster type when the radius is shown.
Affects TypeAffects Type allows the same path network to serve different monster classes.
human — only human monsters can use the nodeflying — only flying monsters can use the nodeboth — either type can use the nodeThe Monster AI checks this restriction when constructing a patrol path. A monster that does not match the node's type is rejected from that path.
A Monster can be configured with:
Patrol — enables patrol behaviourPatrol Target — specifies the starting PathNodePatrol Mode — determines how the node chain is traversedThe available patrol modes are:
| Mode | Behaviour |
|---|---|
loop |
Continuously follows the chain and wraps back to the beginning |
ping_pong |
Travels to the end of the chain, then reverses direction |
once |
Travels through the chain once and stops at the final node |
For example:
PathNode_1 → PathNode_2 → PathNode_3
With loop, the monster follows:
1 → 2 → 3 → 1 → 2 → 3 ...
With ping_pong:
1 → 2 → 3 → 2 → 1 → 2 → 3 ...
With once:
1 → 2 → 3 → STOP
The patrol chain is constructed by following each node's Next Node property.
Patrol is a fallback behaviour rather than an absolute command.
When a monster is able to detect and engage a target, normal combat behaviour takes priority over patrol movement. Monsters can therefore patrol an area until they detect something, leave their patrol route to pursue it, and subsequently return to navigation behaviour.
PathNodes are also used by the Monster AI to recover from navigation problems.
If a monster becomes blocked by world geometry for long enough, the AI searches for a nearby PathNode and can use it as a detour around the obstacle. This allows PathNodes to provide useful navigation assistance without requiring every possible route through a level to be explicitly connected into a complete path network.
This is particularly useful for situations such as:
Monster
↓
███████ ← blocking brush
↓
PathNode → PathNode
Instead of remaining permanently blocked, the monster can use nearby nodes to find a route around the obstruction.
PathNodes have their own I/O controls, allowing a level designer to dynamically determine whether a node accepts patrolling monsters.
| Input | Description |
|---|---|
Enable |
Allows monsters to patrol to this node. |
Disable |
Prevents monsters from patrolling to this node. |
Toggle |
Toggles whether this node accepts patrolling monsters. |
This makes it possible to alter a navigation network during gameplay. For example, a scripted event can disable a PathNode after a bridge collapses and re-enable it when the bridge is restored.
| Output | Description |
|---|---|
OnMonsterArrived |
Fired when a patrolling monster enters this node's radius. |
OnMonsterLeft |
Fired when a patrolling monster leaves this node's radius. |
OnWaitStart |
Fired when a monster begins waiting at this node. |
OnWaitEnd |
Fired when a monster finishes waiting and advances toward the next node. |
These outputs allow PathNodes to participate directly in Fio's I/O system. They can therefore be used to trigger doors, sounds, logic entities, scripted events, or other gameplay behaviour when monsters reach particular points.
PathNodes are not exclusively a Monster AI feature.
Because a PathNode is fundamentally a named position in the level, other systems can resolve it by name and use its position as a target. This makes the same node network useful for:
This allows designers to construct reusable spatial networks rather than creating separate coordinate entities for every system.
The monster wants to get to PathNode_6 but will be blocked by the pink brush.
Placing PathNodes around the obstruction allows the Monster AI to use them as a possible detour, rather than requiring the monster to remain stuck against the obstacle.