func_ladder

func_ladder
is an internal brush entity available in all Source games.
Version differences
Before
Left 4 Dead
When VBSP compiles the map, it converts func_ladder brushes into regular world brushes with added ladder contents, and an info_ladder entity is created with KVs indicating the bounding box of the ladder.
Because this type of info_ladder
exists only in Source 2006 and
Source 2007, this entity is mostly obsolete, and is only useful if it is absolutely necessary to make a material without %CompileLadder climbable.
Since detail contents are not added to the contained brushes, excess visleaves will be cut unless at least one of the materials also has %CompileDetail.
Since
Left 4 Dead
VBSP converts this to func_simpleladder which has its keyvalues set based on %CompileTeam and which side of the brush has a ladder texture. The brush contents are NOT altered and depend on %CompileLadder flag. The func_simpleladder
entity only exists in Left 4 Dead series, so this entity should not be used in first party titles outside of those games.
Usage
Left 4 Dead series - Use this. See L4D_Level_Design/Ladders. Can also use func_brush if toggling it is neccessary but will be climbable from any side.
Half-Life 2 series,
Portal - Players and NPCs are unable to use ladder contents for climbing. Use func_useableladder instead.
Team Fortress 2,
Portal 2,
Alien Swarm[confirm] - climbing not possible. Needs workarounds Working_ladders#Brush-based_ladder_workaround
- anything else - use func_detail (or func_brush if toggling is wanted) with a
tools/toolsinvisbleladder
texture (or any other %CompileLadder material).


FGD Code
As this entity is nonfunctional in post- games, and vanilla
Left 4 Dead series FGDs include a func_ladder entry, this entry reflects pre-
games.
@SolidClass = func_ladder : "Brush ladder. Players will be able to freely along this brush, as if it was a ladder.\n\nIf you are using toolsinvisibleladder or any other material with %CompileLadder, use func_detail instead, especially if it does not have %CompileDetail as well."
[
targetname(string) : "Name" : : "Name to display in the map editor's 2D views and Entity Report; no effect in-game."
]