Pedestrian Node
How To Create
- There are 2 ways:
Create node by yourself in the Unity toolbar:
Spirit604/Create/PedestrianNode
Create node with PedestrianNodeCreator tool.
How To Connect
- There are 2 ways:
Select a node in the hierarchy or on the scene and press
Tabover the node you want to connect to.Use the PedestrianNodeCreator tool: select the initial node by pressing
Wabove it and connect it to another node by pressingE.
Note
Hotkeys can be modified in the PedestrianNodeHotkeyConfig asset.
Pedestrian Node
Pedestrian node is a node for creating a pedestrian route.
Connection Data
Directions of auto-connections
Directions of raycasts to connect with other nodes (useful for generating grid/squared layouts).
Custom Node Settings
Default
Default node for the route.
Sit
Node for benches, seats, etc. (test scene).
Note
Requires PedestrianNodeSeatSettings component.
![]()
Bench example.
House
Node for entry/exit to a house (test scene).
Tip
Enable Can spawn in view in the pedestrian node settings to simulate leaving from the house.
Pedestrians who have entered the house node will be destroyed.
Idle
Node for temporary idling pedestrians (test scene).
Note
To set a custom idle time at the node, add the PedestrianNodeIdleSettings component.
![]()
Car parking
Node to enter/exit a parked car (generated by ParkingBuilder). Read more about parking states.
![]()
Parking node example.
Talk area
Node for crowd conversations of pedestrians (test scene).
- Area shape type: type of area shape.
Square
Circle
![]()
Talk area example.
Traffic public stop station
Node for waiting for public transport.
Note
To set the maximum number of waiting vehicle passengers, adjust the capacity parameter.
![]()
Stop station example.
Traffic public entry
Node for entering public transport.
![]()
Public entry example (white box).
Warning
Entry node should be any GameObject with the VehicleEntryAuthoring component, which adds a node with Traffic public entry type.
Trigger
Node to notify the user that the entity has reached the node.
How to use:
Activate TriggerNodeConfig & sync with the subscene.
![]()
If you need to subscribe to this reach event, use Traffic Node Service.
![]()
If you need to associate a scene object with the trigger event, follow these steps:
Activate EntityBindingConfig & sync with the subscene.
![]()
Create a new game object in the scene where the trigger is expected (e.g. cube).
![]()
Add TriggerNodeHybridListener component.
![]()
Press + button & set Binding type to Pedestrian node in the inspector.
![]()
Press + on the scene node to which you want to associate the current scene object with the entity.
![]()
Source scene example.
![]()
Selected node example.
Now you can listen to entities arriving at this node by subscribing to
TriggerNodeHybridListener.OnTriggerEnterwith code in the TriggerNodeHybridListener component or by using UnityEvent in the inspector of this component.
Trigger And Destroy
Node to notify the user that the entity has reached the node & then destroy the entity. Use case is the same as the Trigger type.
Crosswalk Node
Node used to place crosswalks in arbitrary positions without using traffic nodes and road segments.
For detailed setup instructions, configuration details, and system behavior, read the Custom Crosswalk section.
Common Settings
- Shape typeshape of the area for randomization of pedestrian targets.
Circle
Square
Rectangle
Hotkeys
Custom Crosswalk
Allows placing a crosswalk in an arbitrary position without using Traffic Node and Road Segment.
How To Use
Place pedestrian nodes where the crosswalk will be.
Connect them with each other and other non-crosswalk nodes.
Set
Node typetoCrosswalk node(the node color will change to cyan after changing the type).
Add the
PedestrianCrosswalkNodeAuthoringcomponent to both nodes.Select one node of the crosswalk and select traffic paths where vehicles drive by clicking “+” in the scene view.
Repeat this step for the second node.
Adjust parameters in PedestrianCrosswalkConfigAuthoring if needed.
Traffic will now react to pedestrians moving on that crosswalk.
Note
Pedestrians evaluate approaching vehicles before crossing. If a vehicle’s calculated braking distance is greater than its distance to the crosswalk (meaning the vehicle cannot stop in time due to its speed and will hit the pedestrian), the pedestrian will wait and avoid entering the crosswalk.
Crosswalk Config
The PedestrianCrosswalkConfigAuthoring component configures pedestrian behavior near crosswalks based on approaching traffic:
Min Speed — Minimum vehicle speed in km/h to be considered a potential hazard. Vehicles moving slower than this speed are ignored by pedestrians.
Braking Rate — Multiplier used to calculate the vehicle’s safe braking distance (
braking distance = vehicle speed * braking rate). If an approaching vehicle is closer than this calculated braking distance, the pedestrian determines the vehicle cannot stop in time and will pause/wait to avoid getting hit.Distance From Crosswalk — Distance threshold from the previous pedestrian node. Once the pedestrian walks beyond this distance, the crosswalk tracking system stops checking for traffic.
Idle Action — The action state assigned to the pedestrian (e.g., waiting) when stopping for oncoming vehicles.
CullState Info
States
Culled : entity not available for spawning.
CloseToCamera : entity available for spawning.
InVisionOfCamera : entity available for spawning only during the initial scene start (unless the Can spawn in view option is enabled).
Pedestrian Node Creator
Pedestrian Node Creator is a tool to quickly create and connect pedestrian nodes.
How To Create
Select in the Unity toolbar:
Spirit604/Create/PedestrianNodeCreator
![]()
How To
Create Node
Press the Tab button on the keyboard to create a preview PedestrianNode.
Place the preview PedestrianNode at the desired position.
If you need to attach the PedestrianNode to a custom shape surface, enable Auto Attach To Surface in the Inspector.
Press E button on the keyboard to create the final PedestrianNode.
Tip
You can change the hotkeys to your liking.
Select Node
Choose Selection mode.
Click W above the node to select PedestrianNode.
Connect Node
Click E over the target PedestrianNode to connect (Single selection mode only).
Locate Node
Choose Selection mode.
Drag the position handle to the desired position.
Settings
- Show handle type:
Only created : handles will be shown only for created nodes.
Only selected : handles will be shown only for selected nodes.
All : handles will be shown for all nodes.
- Selection mode:
Single : only 1 node is selected.
- Multiplemultiple nodes can be selected.
- Multiple handle type:
Single : each node has its own individual position handle.
All : all nodes share the same position handle.
Unselect selected : clicking an already selected node will deselect it.
- Auto split connectionif a node is placed on an existing connection line, the connection will be split and reconnected through it (calculated via Raycast).
Disabled
Right angle : 90° angle.
Custom angle : custom user angle.
- Auto attach to surfaceauto-attach created nodes to a surface.
Surface mask : layer mask for attachment.
- Attach type:
Collider : attach to collider.
Mesh : attach to mesh.
- Auto snap positionauto-snap node position during creation.
Snap value : snapping grid value.
Scene Settings
- Show path type:
All : show routes for all nodes.
Only created : show routes only for nodes created by this tool.
- Show node buttonson/off display of custom buttons on selected nodes.
- Node button type:
Delete : node will be deleted when clicked.
Unselect : node will be deselected when clicked.
- Show border routes :
Current : route will be displayed using the assigned width of the nodes.
Selected : route will be displayed using the width selected in creator settings.
Buttons
Hotkeys
Advanced Connection Window
Help window for advanced node connection settings.
Split Connection
Split an existing connection into several nodes.
![]()
![]()
Split connection example.
Note
Split is available for already connected nodes only.
Join To Connection
Connect the selected node to an existing connection.
![]()
![]()
Join to connection example 1.
![]()
![]()
Join to connection example 2 (attach to line enabled).
Create Custom Route Width
Create a custom route with custom width between two nodes.
![]()
![]()
Create custom route width example.
Change Current Route Width
Set the custom width to the two selected nodes.
![]()
![]()
Change current route width example.