Guide
Game mantling and vaulting systems explained
Harbor Ruins' cliff approach looked climbable. The lip was 1.35 m above the player capsule — above max jump height but below a full climbing wall. Testers jumped three times, slid off, and filed “broken collision.” The level was fine; the game had no mantle state. Adding a height-banded ledge probe, a 0.9 s root-motion mantle clip, and an 8-frame jump-input buffer at the lip cut fall-death rate on that route by 61% and raised “movement feels good” scores 22 points. Mantling and vaulting are the glue between flat locomotion and authored verticality: they answer “I clearly reached this ledge — why can't I stand on it?”
Mantling pulls the character onto a ledge they are hanging below or beside. Vaulting sends them over low horizontal obstacles without stopping on top. Both rely on detection geometry, height rules, temporary loss of player steering, and animation or procedural snap. They differ from full parkour verb sets (wall-run, slide, grapple) in scope: one-shot assists for near-miss jumps, not the core fantasy. This guide covers detection, height bands, mantle vs vault selection, animation integration, networking, the Harbor Ruins refactor, a technique decision table, pitfalls, and a production checklist.
What mantling and vaulting solve
Jump heights are discrete; level geometry is continuous. Without assist verbs, designers either shrink every climbable lip to exact jump height (boring, readable only to speedrunners) or accept frustration spikes at “almost” ledges. Mantling converts near-miss vertical gaps into success states; vaulting keeps forward momentum over waist-high cover instead of forcing a full stop and hop.
Players rarely name these systems. They say the game “feels smart” when a mantle fires at the right moment and “feels broken” when a valid lip is ignored or an invalid one yanks them into a wall. The design goal is predictable generosity: the same ledge profile should always resolve the same way, with visible affordances where possible.
Detection: finding a valid ledge
Most implementations run a short sequence of traces or overlap tests each frame while the character is airborne, falling, or pressing a climb input:
- Forward chest trace — from shoulder height, cast forward to find a vertical face within mantle range (typically 0.5–1.8 m).
- Lip probe — from the hit point, cast upward then forward to confirm a horizontal surface wide enough for the capsule (min depth ~0.4 m, min width ~ capsule diameter + margin).
- Clearance check — sweep the standing capsule volume above the lip; reject if ceiling, spikes, or another actor blocks.
- Height delta — measure lip Y minus feet Y; map to mantle tier (low / standard / high) or reject if above max.
- Approach angle — require facing within ~45–90° of the wall normal; optional side-mantle for wider tolerance at cost of more animation variants.
Tag volumes (“no mantle” on crumbling ledges, barbed wire) override automatic detection. Conversely, mantle markers on known lips guarantee success even when geometry is messy — common in cinematic platformers and precision platformers that still want occasional assist on story routes.
Height bands and verb selection
| Height delta (feet to lip) | Typical verb | Player expectation |
|---|---|---|
| Below min jump (reject) | Normal jump lands | No assist needed |
| Low (≈0.2–0.6 m over max jump) | Quick hop mantle or step-up | Fast, minimal animation |
| Standard (≈0.6–1.2 m) | Full mantle, hands-on-lip | Clear pull-up, brief vulnerability |
| High (≈1.2–1.8 m) | High mantle or climb start | Longer commit, often needs hang state first |
| Above max mantle | Climb wall / grapple / reject | Different system or hard fail |
Vaulting uses horizontal obstacle height instead of lip delta: waist-high cover (≈0.8–1.1 m) with forward speed above a threshold triggers a vault animation that preserves horizontal velocity. Too slow → stumble or failed vault; too high → mantle onto top or block. Document thresholds in a design sheet so animators know which clips to author.
Hang vs instant mantle
Instant mantle fires on jump contact with the lip probe — best for action games that should not stall flow. Ledge hang enters a shimmy/climb sub-state when the player holds grab while airborne near a lip; release or up-input triggers mantle. Hang states enable corner traversal and drop-down but add input complexity; pair with clear UI prompts in tutorial zones.
Animation, root motion, and procedural snap
Three integration patterns dominate:
- Root-motion mantle — animation drives position; disable player translation during the clip; snap to authored end pose on completion. Highest fidelity; requires per-height or mirrored variants and careful lip alignment.
- Procedural snap — code lerps capsule to lip anchor in 200–400 ms with a generic upper-body overlay. Cheaper, network-friendly; can look floaty without hand IK to the lip edge.
- Hybrid — procedural XY snap + short root-motion arms phase. Common in open-world engines balancing quality and asset count.
During mantle/vault, set movement lock, brief invulnerability (optional), and cancel rules: taking damage may interrupt into fall; dodge input may be buffered via input buffering to fire on mantle exit. Blend out of mantle into run, idle, or aim based on stick input at clip end — dead sticks should default to forward run in action titles.
Harbor Ruins cliff refactor (worked example)
Problem: 14 m cliff path with three lip heights (1.1 m, 1.35 m, 1.5 m) and no climb volume. Players with upgraded jump still failed the 1.35 m lip 40% of attempts because coyote time ended one frame before probe contact.
- Probe tuning — widened forward trace 0.15 m, lowered chest origin 0.1 m, extended lip search 0.2 m downward for “almost there” grabs.
- Height table — 1.1 m → fast step-up (0.45 s); 1.35 m → standard mantle (0.9 s); 1.5 m → hang-required high mantle (1.2 s) with grab hint on first visit.
- Buffer — 8-frame mantle request buffer while airborne near a valid probe hit (stores intent, not repeated mantles).
- Tags — crumbling side path marked
no_mantleso players use alternate route; prevents animation popping on destructible mesh. - Metrics — mantle success rate, false-negative probes (valid lip, no trigger), and average mantle duration per lip ID.
Fall deaths on the route dropped 61%; average traverse time rose 4 s due to mantle locks — acceptable for an exploration beat. Speedrun route still skips mantles with precise jump tech once players learn exact lip heights.
Technique decision table
| Approach | Best when | Weak when |
|---|---|---|
| No mantle (jump-only) | Precision platformers, competitive fairness, tile-perfect jumps | Open worlds, variable jump upgrades, realistic humanoid scale |
| Automatic mantle on probe | Action-adventure, third-person exploration, forgiving flow | Speedruns where accidental mantles break routes; PvP ledges |
| Hang + manual up to mantle | Metroidvania verticality, shimmy, drop-down choice | Fast parkour lines; adds input burden |
| Vault over cover | Shooters, tactical movement, waist-high obstacle fields | Thin rails, uneven cover height, low ceilings |
| Full parkour verb kit | Parkour fantasy, momentum routes, skill expression | Small scope projects; high animation and QA cost |
Multiplayer and determinism notes
Mantles are short state-machine locks. In networked games, the client that detected the ledge usually requests mantle authority; server validates probe results against shared geometry (or mantle marker ID) and broadcasts start time + lip anchor. Mispredicted mantles cause rubber-banding — prefer server-confirmed start or lock input during validation window (<100 ms). Record mantle as a discrete event in replay systems so killcams do not show floating snaps.
Common pitfalls
- Inconsistent lip geometry — decorative mesh extends past walkable surface; probe hits rock art, mantle snaps into void.
- Mantle stealing jump — probe fires when player wanted a long jump across a gap; add facing + velocity gates or require fall speed.
- No “no mantle” tags — players mantle onto intended kill planes or story blockers.
- Wrong height clip — 1.5 m lip plays 1.1 m fast mantle; feet intersect lip, camera clips wall.
- Ignoring buffer at lip — one-frame miss despite generous coyote; players perceive input lag.
- Combat during mantle — enemies hit during long high mantle with no cancel option; feels unfair unless telegraphed.
- Vault on uneven cover — waist-high crate on slope triggers vault into ceiling; per-instance height override needed.
- Missing debug viz — designers cannot see why probe failed; mantling becomes superstition tuning.
Production checklist
- Document min/max mantle height, lip width/depth, and approach angle per character capsule.
- Implement chest trace + lip probe + standing clearance sweep with debug draw toggle.
- Map height deltas to mantle tiers and animation clips (or procedural durations).
- Add
no_mantle/force_mantlevolume tags for exceptions. - Buffer mantle intent 6–10 frames while airborne near valid probes.
- Lock movement, define damage interrupt rules, and blend out to run/idle/aim.
- Separate vault thresholds (speed + obstacle height) from mantle probes.
- Playtest with slow, average, and upgraded jump builds on the same route.
- Log mantle success, false negatives, and interrupts per level section.
- Validate network mantle authority and replay event recording before ship.
Key takeaways
- Mantling and vaulting bridge the gap between jump height and level verticality — they turn “almost” ledges into deliberate success instead of perceived collision bugs.
- Reliable detection (forward trace, lip probe, clearance, height band) matters more than a polished animation if probes fire inconsistently.
- Harbor Ruins cut cliff fall deaths 61% with height-banded mantles, widened probes, and an 8-frame intent buffer — without changing lip geometry.
- Choose automatic vs hang-gated mantles based on genre: exploration favors assist; precision platformers often omit or strictly marker-gate it.
- Tag exceptions, separate vault rules, and instrument false negatives — mantling is invisible until it fails on a clearly reachable ledge.
Related reading
- Game locomotion explained — controllers, jumps, and ground contact that mantles extend
- Parkour game design explained — full traversal verb kits and momentum routes
- Platformer game design explained — when to allow assist vs demand precision
- Game input buffering explained — leniency windows at state boundaries including ledges