From Valve Developer Community
Jump to: navigation, search

func_nav_avoid is a brush entity available in the following Source engine games:Counter-Strike: Source Counter-Strike: Source , Team Fortress 2 Team Fortress 2 , Garry's Mod Garry's Mod .

Entity description

Artificially makes bots avoid a certain area when choosing navigation paths by increasing the pathfinding cost of progressing through the area.

Note.png Note: For this entity to take effect, it's volume must cover the entire nav cell to take effect on that cell.
Note.png Note:  The path cost of moving through this nav area is increased by 2,400% of the regular cost. While the result is high, if another path has a higher cost, the avoided route will still be chosen.


Name (targetname) <string>
The targetname that other entities refer to this entity by.


Start Disabled (StartDisabled) <boolean>
Stay dormant until activated (with theEnableinput).

Initial Team (TeamNum, or teamnumber Counter-Strike: Global Offensive) <choices>
Which Team the entity belongs / is assigned to on spawn
  • 0: None
  • 1: Spectator
  • 2: Red Team Fortress 2, Survivors Left 4 Dead Left 4 Dead 2, Terrorists Counter-Strike: Source Counter-Strike: Global Offensive
  • 3: Blue Team Fortress 2, Infected Left 4 Dead Left 4 Dead 2, Counter-Terrorists Counter-Strike: Source Counter-Strike: Global Offensive
tags <string>
additional context for if the entity should apply to a specific bot


Removes this entity from the world.
Removes this entity and its children from the world.
Note.png Note: Entities already remove orphaned children upon being removed, but this input removes all children on the same frame, being marginally faster than Kill.
AddOutput <string>
Adds a keyvalue/output to this entity. It can be potentially very dangerous, use with care.
KV Format: <key> <value>
I/O 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 depending on the entity. Can also be invoked by firing an output that does not specify an input.
RunScriptFile <script> (in all games since Left 4 Dead 2)
Execute a VScript file from disk, without file extension. The script contents are merged with the script scope of the receiving entity.
RunScriptCode <string> (in all games since Left 4 Dead 2)
Execute a string of VScript source code in the scope of the entity receiving the input. String quotation may be needed when fired via console.
Bug.png Bug: In Left 4 Dead 2, the code is executed in the script scope of the entity that fires the output, not the one receiving the input.
Warning.png 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> (in all games since Left 4 Dead 2) !FGD
Execute a VScript function in the scope of the receiving entity.
SetLocalOrigin <coordinates> (in all games since Alien Swarm) !FGD
Send this entity to a spot in the map. If the entity is parented to something, it will be offset from the parent by this amount.
SetLocalAngles <angles> (in all games since Alien Swarm) !FGD
Set this entity's angles.


Enable/disable this entity from performing its task. It might also disappear from view.

See also