Build your 2D platformer faster with a complete, drag-and-drop toolkit that combines three production-ready systems: an advanced player controller, an autonomous enemy patrol system, and a reactive perception AI - all configured entirely from the Inspector. No coding required to get a working result.
Every script is heavily commented and beginner-friendly, yet flexible enough to drop into a real project. Two pre-configured demo scenes (Side-Scroller and Top-Down) let you tune every parameter and dial in the exact game feel you want.
WHAT'S INSIDE
- Player Controller - a feature-rich 2D character controller with damped movement, multi-jump, coyote time, jump buffering, variable jump height, dashing, ladder climbing, wall slide, and wall jump. Physics runs in FixedUpdate for stable, frame-rate-independent motion.
- Enemy Patrol - autonomous patrol for both Side-Scroller (ledge and wall detection) and Top-Down (fixed waypoints or random roaming) games, with smooth rotation and runtime fallbacks so enemies work even before everything is wired.
- Reactive AI (Smart Senses) - adds a vision cone, proximity sense, and optional line-of-sight blocking on top of any patroller, driving a five-state behavior machine: Patrol → Suspicious → Chase → Search → Return.
FEATURES
1. Plug-and-play: attach a script and tune everything from the Inspector - auto-setup wires and references for you.
2. Two enemy modes (Side-Scroller and Top-Down) with fixed or random patrol patterns.
3. Reactive enemy AI with vision, proximity detection, line-of-sight occlusion, and a five-state machine.
4. Advanced player feel: wall jump, dash, coyote time, jump buffering, and tunable gravity.
5. UnityEvents throughout: hook in sound, VFX, and UI from the Inspector with no code.
6. Live Scene: view gizmos for vision cones, ranges, and ground/ladder/wall checks.
7. Context-aware custom Inspector that shows only the fields relevant to your Game Type.
8. Two pre-configured demo scenes and full technical documentation included.
Please note: these scripts use Unity's legacy Input Manager. Set Active Input Handling to "Input Manager (Old)" or "Both" in Player Settings - a one-line change, covered in the documentation.