The Scooter Controller is a lightweight, arcade-style scooter and motorcycle movement system built for Unity. Designed for casual racing games, delivery games, and open-world exploration, it delivers responsive Rigidbody-based physics, smooth slope handling, forgiving jumping, dynamic camera behavior, and an extensible audio event system.
This asset focuses on feel, clarity, and ease of customization, making it ideal for rapid prototyping or production-ready gameplay with minimal setup.
Key Features
Physics-Based Movement
- Rigidbody-driven acceleration and braking
- Configurable max speed, acceleration, and deceleration
- Separate reverse speed and acceleration
- Grip system for instant stopping or drifty arcade handling
- Slope-aware force application for smooth ramps and terrain
Steering System
- Speed-sensitive turning (tighter control at low speed)
- Front wheel visual steering
- Z-axis rotation locked to prevent tipping
- Smoothed ground alignment using surface normals
Jumping & Grounding
- SphereCast-based ground detection
- Coyote time for forgiving jumps
- Input buffering to prevent missed inputs
- Increased air gravity for snappy landings
Wheel Animation
- Automatic wheel spin based on velocity
- Front wheel steering rotation
- Adjustable wheel radius for accurate spin visuals
Audio System
- Dedicated ScooterAudioController
- Engine loop with speed-based pitch and volume
- Jump, land, and brake/skid sounds
- Impact-scaled landing audio
- UnityEvent hooks for full customization
Camera System
- Smooth orbit-follow camera
- Speed-based dynamic FOV
- Adjustable follow and rotation smoothing
- Always keeps the scooter framed on screen
HUD (Optional)
- TextMeshPro speed display
- Fill-based speed bar
- Drop-in prefab, fully optional