Overview
Play a WebGL demo:
https://transylvanian-tales.itch.io/steering-wheel-control-demo
Realistic Steering Wheel Control – Mobile & Touch Input
Steering Wheel Control is a realistic, responsive, and highly customizable UI input system designed for mobile and touch-based applications.
It simulates a real steering wheel by converting drag-based rotation into smooth, normalized input, making it ideal for driving games, simulations, and any system that requires rotational control.
Key Features
- Realistic drag-based steering input
- Smooth and organic rotation behavior
- Normalized output (-1 to 1)
- Adjustable sensitivity and maximum steering angle
- Configurable dead zone with flexible behavior
- Optional automatic centering (auto-reset)
- Event-driven input system
- Multiple steering wheel visual styles included
- Lightweight and high-performance implementation
Steering Wheel Variants
The asset includes multiple ready-to-use steering wheel prefabs:
- Realistic steering wheel
- Icon-style steering wheel
- Outline-style steering wheel
Each variant uses the same core logic, allowing you to:
- Quickly prototype different visual styles
- Swap visuals without changing functionality
- Customize or replace sprites to fit your project
Car Demo Included
A complete car demo is included to showcase real-world usage.
It demonstrates how to connect the steering wheel input to a vehicle controller using a modular architecture.
The demo supports multiple render pipelines:
- Built-In Render Pipeline (BRP)
- Universal Render Pipeline (URP)
- High Definition Render Pipeline (HDRP)
This ensures compatibility across different project setups.
Flexible Input System
The steering wheel outputs a normalized float value (-1 to 1), which can be used for:
- Vehicle steering
- Character rotation
- Camera control
- UI interactions
- Any custom gameplay system requiring rotational input
You can:
- Subscribe to events (OnInputChanged)
- Or poll input manually via API
Customization
The system is designed to be highly configurable:
- Sensitivity → controls responsiveness
- Max Angle → defines rotation range
- Dead Zone → stabilizes input near center
- Subtract Dead Zone → smooths transitions
- Auto Reset → returns wheel to neutral
- Reset Speed → controls centering speed
This allows you to fine-tune the control for arcade, simulation, or hybrid experiences.
Important – Pivot Setup
Correct pivot placement is essential for proper behavior.
- The steering wheel must rotate around its visual center
- This is controlled by the RectTransform pivot
Important notes:
- Included prefabs may use custom pivot values (not always 0.5, 0.5)
- This is intentional for non-perfectly round steering wheel visuals
- If you replace the sprite (especially with a perfectly round image), you may need to adjust the pivot
Incorrect pivot setup can result in:
- Off-center rotation
- Unnatural steering behavior
Always verify pivot alignment when customizing visuals.
Performance
- No runtime allocations
- Minimal computations per frame
- Efficient input processing
- Suitable for real-time applications on mobile and desktop
The system is designed to be lightweight and scalable.
No External Dependencies
- No external APIs are used
- No API keys are required
- Fully offline and self-contained
Architecture
The asset follows a modular package-based structure:
- Core logic is separated into reusable packages
- Designed for integration into larger systems
- Easy to extend and maintain
Use Cases
- Driving games
- Racing games
- Vehicle simulations
- Mobile control systems
- Any rotational input-based gameplay
Included Content
- Steering Wheel Control system
- Multiple steering wheel prefabs
- Demo scenes (visual showcase)
- Car demo (full integration example)
- Support for BRP, URP, and HDRP
- Full documentation
Documentation & Tutorials
Documentation is included within the asset.
Video tutorials are available and will continue to be expanded over time:
https://www.youtube.com/playlist?list=PL2ESxGsWSBc7Myz9AxvQ_3F38V1PXqB-h
Support
If you have any questions or need assistance:
transylvanian.tales.gamedev@gmail.com