A gameplay-focused Unity racing prototype built around vehicle handling, tuning systems, and replayability.
Understeer was developed as an exploration of how vehicle setup, surface interaction, and player choice influence driving behaviour. Instead of relying on a single optimal strategy, the project encourages experimentation through multiple vehicle types and real-time tuning options.
Current Status: Playable Prototype
The project is currently focused on gameplay systems, vehicle handling, and player experimentation. Future iterations may expand AI systems, progression mechanics, additional tracks, and multiplayer functionality.
🎮 WebGL Build: https://mohdayaankhan.itch.io/understeer
📥 Windows Build: https://mohdayaankhan.itch.io/understeer
📹 Gameplay Showcase https://youtu.be/aR0I97N1b1M
This project was developed independently, including:
- Gameplay programming
- Vehicle handling systems
- Runtime tuning systems
- UI implementation
- Lap validation logic
- Surface detection systems
- Vehicle selection workflow
- Testing, balancing, and deployment
- 8 drivable vehicles with distinct handling profiles
- Real-time vehicle tuning system
- 4 preset tuning configurations
- Runtime adjustment of 10+ handling parameters
- Checkpoint-validated lap system
- Best lap time tracking
- Surface-aware vehicle behaviour
- Vehicle selection menu with 3D previews
- Respawn system
- Responsive gameplay UI
- WebGL and Windows deployment
The driving system is built using Unity's PhysX framework and focuses on creating noticeably different handling characteristics across multiple vehicles.
Vehicle behaviour can be adjusted through parameters such as:
- Acceleration
- Braking Force
- Steering Sensitivity
- Suspension Settings
- Tire Grip
- Downforce
This allows players to experiment with different setups and discover driving styles that suit them.
A runtime tuning panel allows players to modify vehicle parameters while the game is running.
The goal was to create a system where gameplay feel could be tested and iterated on without rebuilding the project or modifying code.
Players can:
- Select predefined presets
- Modify tuning values directly
- Compare handling behaviour in real time
Instead of counting laps through a single finish-line trigger, the system validates that required checkpoints have been crossed before a lap is recorded.
This prevents shortcut exploitation and ensures lap completion remains reliable.
The system tracks:
- Checkpoint progression
- Valid lap completion
- Current lap time
- Best lap time
Vehicle behaviour changes depending on the surface being driven on.
The system detects the current driving surface and adjusts handling-related values accordingly, creating different driving experiences across track sections.
Examples include:
- Reduced grip surfaces
- Higher traction areas
- Different vehicle responses based on terrain
Players can reset their vehicle if they become stuck or leave the intended play area.
The respawn system restores the vehicle to a valid track position while preserving gameplay flow.
The project includes multiple UI-driven gameplay systems:
- Main Menu
- Vehicle Selection Screen
- Runtime Tuning Interface
- Lap Timing Display
- Best Lap Tracking
- Pause Menu
UI elements update dynamically based on gameplay state and player actions.
The primary goals behind Understeer were:
- Building gameplay systems from scratch
- Exploring vehicle handling and tuning mechanics
- Improving Unity architecture and scripting skills
- Creating replayability through player choice
- Learning how gameplay systems interact at a project level
Ensuring laps could not be completed through shortcuts required checkpoint validation logic rather than simple finish-line detection.
Allowing players to adjust gameplay parameters during runtime required careful synchronization between UI systems and vehicle controllers.
Creating noticeable differences between surfaces while maintaining a predictable driving experience required balancing multiple handling variables.
Through this project I gained experience with:
- Gameplay systems architecture
- Physics-based vehicle handling
- Runtime parameter tuning
- UI-to-gameplay communication
- Checkpoint validation logic
- Iterative gameplay balancing
- WebGL deployment workflows
- Unity 6.3 LTS
- C#
- Unity PhysX Vehicle Systems
- Universal Render Pipeline (URP)
- TextMeshPro
- Git
- GitHub
Planned future improvements:
- AI Opponents
- Multiplayer Support
- Additional Tracks
- Ghost Replay System
- Expanded Vehicle Progression
- Advanced Telemetry and Analytics
Mohd Ayaan Khan
GitHub: https://github.com/MAK031205
itch.io: https://mohdayaankhan.itch.io/understeer
ArtStation: https://mak031205.artstation.com