TLD Ultimate 2D Character Controller gives you a production-ready, fully procedural 2D character controller built entirely on a capsule shape. No sprites, no animator, no art required, every animation is written in code.
Open Window > TLD > Setup Wizard, pick your ground layer, click Create Character, and hit Play. Done.
MOVEMENT & PHYSICS
- Smooth acceleration and deceleration with separate ground and air values
- Variable jump height with fall multiplier and low-jump multiplier for tight, responsive arcs
- Multi-jump support (1 to 5 jumps, fully configurable)
- Coyote time, grace window after walking off a ledge
- Jump buffering, queue a jump slightly before landing
- Full slope detection and slope-normal movement
- Configurable gravity scale, max fall speed, and ground snapping
WALL MECHANICS
- Wall slide, slow fall while pressed against a wall
- Wall grab with optional stamina system (hold to cling indefinitely or drain over time)
- Wall jump with configurable force, lock-out timer, and directional control (Basic or Advanced mode)
DASH
- Directional dash (follows input direction) or Lateral dash (always horizontal)
- Configurable speed, duration, and cooldown
- Air dash with limited-use count per jump
- Optional gravity disable during dash
- Invincibility flag for use with your own health system
CROUCH & SLIDE
- Crouch shrinks the capsule collider from the top, feet stay planted on the ground
- Head clearance check prevents standing up inside geometry
- Slide with minimum speed requirement, duration, and separate cooldown
- Crouch speed multiplier
LEDGE MECHANICS
- Automatic ledge detection using raycasts, no trigger volumes needed
- Ledge grab, character catches the corner of a platform while falling
- Ledge climb, smooth two-phase animation climbs up and over the ledge
- Ledge jump, kick off the ledge into a full jump
- Drop from ledge by holding Crouch
PROCEDURAL ANIMATIONS
All animations are code-driven squish and stretch on the Visual child transform. No Animator or sprites required.
- Land squish, impacts compress the capsule, scaled to landing velocity
- Jump stretch, capsule elongates on takeoff
- Run lean, gentle rotation tilt during movement
- Crouch squish, visually compresses to match the collider shrink
- Slide squish, wide, flat shape during slides
- Wall-slide squeeze, narrow stretch while pressing against walls
- Dash warp, horizontal stretch during dash
- Air stretch and fall squash
All squish uses a bottom-anchored pivot so the feet never leave the ground visually. All values are fully tunable in the Inspector.
The capsule visual displays state-based color feedback (idle, run, airborne, crouch, dash, wall-slide, ledge grab) so you can prototype and test without any art at all.
EASY SETUP
- One-click Setup Wizard at Window > TLD > Setup Wizard creates a complete character with camera
- Custom sectioned Inspector with live runtime debug readout
- Works with Legacy Input or Unity's New Input System out of the box
- Swap in your own input by calling controller.SetInput() from any script
INTEGRATION & EXTENSIBILITY
- State Machine Bridge exposes a clean CharacterState enum and drives any Animator
- 8 UnityEvents: onJump, onLand, onDash, onWallJump, onLedgeGrab, onLedgeClimb, onCrouchChange, onGroundedChange
- Public API: Teleport, AddImpulse, ForceJump, StopMovement, GetStateSnapshot
- Screen shake API on the Camera Follow component
- Fully compatible with PlatformEffector2D one-way platforms
- Works with moving platforms via Rigidbody2D
- No third-party dependencies