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 TeamNum keyvalue set based on material's %CompileTeam and its normal.x/y/z
keyvalues based on which side of the brush has a ladder texture which means that only the side of the brush that's meant to be climbable should have ladder texture and the rest marked as nodraw. The brush contents are NOT altered and depend on %CompileLadder flag of the used material.
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."
]