From Valve Developer Community
Jump to: navigation, search
Hammer Visualization of info_node

info_node is a point entity available in all Source games.

Entity description

It is a ground navigation node for ground moving NPCs. Navigation nodes are baked into the nodegraph so that NPCs can move to them.

  • Ground nodes fall to the ground when they spawn, so you can place them up to 128 units above any solid world geometry, which excludes func_brush, and they will still work.
  • When placing nodes on displacements, place them slightly above the terrain to ensure connections are properly made. Use the Transform tool (Ctrl+M) to move many nodes quickly.


Create an interesting map, place some enemies in it, and run it. Don't kill them straight away but turn on mat_wireframe and watch their actions as you move around. You'll see them, more or less, run straight at you and shoot. This is because they have no bearings in the world other than your position.

Leave the game and lay down info_node entities across the map, preferably at each point where the AI would have to choose what to do, or anywhere the AI might want to go - basically, any important place for the AI. Then recompile and do the same as last time. You should now see them group and attack together if they need to, seek cover, throw grenades at far more suitable times, try to get around you and more - all because you added a few nodes.

This alone has fully set up your AI for a map.



Name <string>
The targetname that other entities refer to this entity by.
Entity Scripts <scriptlist> (New with Left 4 Dead 2)
Name(s) of script files that are executed after all entities have spawned.
Script think function <string> (New with Left 4 Dead 2)
Name of a function in this entity's script which will be called automatically every 100 milliseconds (ten times a second) for the duration of the script. It can be used to create timers or to simulate autonomous behavior.
Note:Try to avoid expensive operations in this function, as it may cause performance problems.
Node ID <int>
Read-only internal Hammer value.




Removes this entity from the world.
Removes this entity and all its children from the world.
AddOutput  <string>
Evaluates a keyvalue/output on this entity. It can be potentially very dangerous, use with care.
Format: <key> <value>
Format: <output name> <targetname>:<inputname>:<parameter>:<delay>:<max times to fire, -1 means infinite>
FireUser1 to FireUser4
Fire the OnUser outputs; see User Inputs and Outputs.
Use  !FGD
Same as a player invoking +use; may not do anything. Can also be invoked by creating an output that does not specify an input.
This input is not included in Valve's FGDs.
RunScriptFile  <script> (New with Left 4 Dead 2)
Execute a game script file from disk.
RunScriptCode  <string> (New with Left 4 Dead 2)
Execute a string of script source code. String quotation may be needed when fired via console.
Note:The code is executed in the script scope of the entity that fires the output, not the one of the targeted entity.
Warning:Never try to pass string parameters to a script function with this input. It will corrupt the VMF structure because of the nested quotation marks, which then must be removed manually with a text editor.
CallScriptFunction  <string> (New with Left 4 Dead 2)
Execute a game script function.


OnUser1 to OnUser4
These Outputs each fire in response to the firing of the like-numbered FireUser1 to FireUser4 Input; see User Inputs and Outputs.

(New with Left 4 Dead)

This Output fires when the entity is killed and removed from the game.

See also