Build path: Use Mobile Controls Kit for the complete bundle, or combine Touch Joystick, Touch Button, Swipe Input Controller, Tap Input Handler, and Mobile Safe Area Handler.
Mobile controls should be decided by the game loop, not by whatever input script is easiest to paste. A one-tap hyper-casual game, a dual-stick shooter, an RTS map, and an idle game need different touch surfaces.
Pick One Main Input Pattern
Mobile Input Picker
| Game Type | Best Script | Note |
|---|---|---|
Top-down movement | Touch Joystick | Touch Joystick gives a Vector2 direction to movement code. |
Jump or attack buttons | Touch Button | Touch Button handles press and release events for UI buttons. |
Lane runner | Swipe Input Controller | Swipe Input Controller is good for left/right/up/down gestures. |
Tap timing game | Tap Input Handler | Tap Input Handler supports tap, double tap, and long press style events. |
Map or camera zoom | Pinch-to-Zoom Camera | Pinch-to-Zoom Camera handles two-finger zoom for camera control. |
Device tilt | Gyroscope Camera Controller | Gyroscope Camera Controller adds motion-based camera input. |
Notched devices | Mobile Safe Area Handler | Mobile Safe Area Handler keeps UI inside the safe screen area. |
Setup Order
- Create a Canvas and EventSystem before adding touch UI scripts.
- Add Mobile Safe Area Handler to the root UI panel.
- Add Touch Joystick or Touch Button depending on your control scheme.
- Route input into gameplay scripts through a small method or property, not by scattering UI references everywhere.
- Test in the Unity editor with mouse fallback, then test on a real phone before tuning sizes.
Common Mobile Mistakes
- Too many gestures: Do not mix joystick, swipe, pinch, and tap unless each has a clear job.
- Unsafe UI: Always account for notches, home bars, and rounded corners.
- Tiny hit targets: Buttons that feel fine in the editor can be painful on a phone.
- Desktop-only testing: Touch latency, thumb reach, and screen density need device testing.
When to Use the Hyper-Casual Kit
Use the Hyper-Casual Starter Kit if your game is one-tap, lane-based, stack-based, or score-driven. Use Mobile Controls Kit if your game needs a general-purpose mobile input layer.
For the broader script library, read Free Unity C# Scripts and Game Systems.