Offer your players the best controls
Engineered with touchscreen devices in mind, Virtual Controls Suite features fully-customizable control components including:
- Multitouch Management
- Analog Joystick
- D Pad
- Face Buttons
- and more
Save time and money
Virtual Controls Suite is for developers who need perfect touch based controls for their game and would rather pay for a fully featured kit than spend the time and money trying to develop it themselves. It’s simple to integrate and will have your players singing your control scheme’s praises.
Get it via PayPal for $45 $31.50
$45 Download From the Unity Asset Store
Optimized
The Suite is written in clean and thoroughly documented C# and supports Unity’s built-in GUITexture format as well as popular UI solutions NGUI and EZGUI out of the box. It has been optimized to have minimal CPU and memory impact.
Supported
We work full time developing and supporting our products. Buy confidently knowing your purchase includes support via email, online chat, and our support forums. Have a feature request? Drop us a line anytime.
Precise
Reliable and simple-to-use input is a key ingredient in the recipe for success for a mobile game. Why go to the trouble of writing your own when our professional team has specialized in the creation and maintenance of this fully-featured package?
Documentation and Support:
- Tutorials
- Webplayer Demo
- Online documentation
- Support forums
Get it via PayPal for $45 $31.50
$45 Download From the Unity Asset Store
Each purchase option includes free updates. PayPal purchasers will be notified by email when updates are released.
Further Details
An in-depth look at the features of each control included in Virtual Control Suite:
All controls are:
- Easily extensible with supplied abstract base and UI solution classes.
- Gettable in code via the base class’ static GetInstance(“name”) method.
- Optimized to make 0 memory allocations after startup and require < .25% CPU time per frame on typical devices.
Touch Controller
Manages multitouch input
- Works automatically with all VirtualControl components, no setup required!
- Emulates mouse input as touch in Editor.
- Get list of all touches, active touches only, etc.
- Ignore erroneous input coming from Android devices which don’t support true multitouch.
Analog Joystick
Behaves just like a physical controller, and then some
- Able to separate moving part, base parts, and collider parts (or not!).
- Hide when not in use option.
- Move to touch location option.
- Option to keep joystick active as long as user is touching, even if they are no longer colliding with the joystick.
- Any touch on screen activates joystick option.
- Measure drag delta from center of graphic or from touch location option.
- Always hide joystick option.
- Create both minimum and maximum axes-independent “dead zone” options.
- Adjust joystick’s ease of movement with axes-independent drag scale factors.
- Collision area is independent from graphic size.
DPad
Solid control your users will love
- Choose simple button mode or joystick mode.
- Joystick mode adds all customization options that AnalogJoystick enjoys.
- Enable/Disable X and/or Y Axes.
- Option to keep joystick active as long as user is touching, even if they are no longer colliding with the joystick.
Button
The only controller button you’ll ever use again
- Independent up and pressed graphics.
- Allow touches which didn’t begin on button option (lets users “slide” into button).
- Don’t release button when touch is active but no longer colliding option.
- Any touch on screen activates button option.
- Skip collision detection option.
- Collision area is independent from graphic size.
- OnPress, OnRelease, and OnHold delegates for easy use in code

Do you have to own ngui to make mobile controls with this?
Hey jdoobie,
No, you don’t have to have NGUI. VCS just supports it if you want to use it. It does come with the free version of NGUI so you can try it out and decide if you want to use it later. If you don’t want to use NGUI, you can use Unity’s built in GUITextures format for your UI, EZGUI (another 3rd party UI solution), or write a wrapper for any other UI solution you might want.
The webplayer demo is actually an example of VCS using GUITextures, for instance.
I hope that helps!