Godot Thumbstick Plugin - Easy Mobile Controller Module
A Single Scripted and (yet) most convenient mobile controller setup element and connector. This plugin included presets and detailed debug information mainly used for easy mobile controller setup validation.
PLUGIN FEATURES
- Virtual Joystick, an usual mobile controller, just drag and drop into your scene (Presets include
Normal
,Horizontal Only
, andVertical Only
). - Multitouch, an area where it detects multiple touches and motions.
- Point & Snap, a simple press the point, drag, and snap to other points (COMING SOON).
- Coloring Style, changing color based on controller actions.
- Quick Debug Gizmos, immediately visualize touch screen controller setup, just activate
Debug Mode
in inspector property. - Quick Target Controller Setup, insert your player node into
Control Target Node
property and assign all functions. - Complete Setting Up Properties, everything you need for setting up screen controller.
How to Install?
You can either download via Asset Library available in Godot Engine, or Download from Releases here and follow these steps:
- Download Thumbstick Plugin
ZIP
file. - Extract files from the
ZIP
file. - Copy
thumbstick_plugin
folder and place it in your Godot Projectaddons
folder. (If you haven't added theaddons
folder under theres://
folder, then create the folder first)
QUICK DOCUMENTATION
This Documentation has been updated since 16 October 2024. May be updated in the future for more tools and features.
A. VIRTUAL JOYSTICKS CONTROLLER
A single scripted mobile joystick controller.
Normally determined as a single circular controller that can be moved in 2 axis direction placed in user interface screen. It only detects one finger touch and will ignore other touch impacting the control area.
You can manually customize yourself by editing or duplicating presets available in addons
-> thumbstick_plugin
-> plugin
-> controllers
folder.
List of Properties
Mode
, Settings joystick behavior betweenStatic
,Dynamic
, orFollow
.Static
, Joystick doesn't move, it will always at dev setup position on screen.- Additional Settings :
Extend Static Area Trigger
, Extends rectangular static touch trigger area for joystick static mode.
- Additional Settings :
Dynamic
, Every time the joystick area is pressed, the joystick position is set on the touched position.Follow
, When the finger moves outside the joystick area, the joystick will follow it.- Additional Settings :
Follow Radius Tolerance
, Extra radius in joystick follow mode to prevents joystick display move until exceeds this tolerance.
- Additional Settings :
Input Mode
, input mode based on direction input limitation.Normal
, This is the default 2 axis direction joystick input.Horizontal Only
, Joystick can be moved only horizontally.Vertical Only
, Joystick can be moved only vertically.
B. MULTITOUCH CONTROLLER
A single scripted controller that accepts multiple touches.
One single control node can handle multiple touch control, that's the definition for this module. Each touch will have it's finger index as an identifier. You can limit and manipulate how much touches will be process in gameplay.
You can manually customize yourself by editing or duplicating presets available in addons
-> thumbstick_plugin
-> plugin
-> controllers
folder.
PATCH LOGS
### Version 1.2.0 ###
- Fixed Multitouch Controller Minor Bugs.
- Updated Multitouch Controller, you can now manipulate maximum finger amount in runtime.
- All event arguments now contains global and local position.
- Controller is completely GUI-based, you can now block the controller using UI element.
- Has been tested and now the plugin supported in Godot 4.4.
### Version 1.1.1 ###
- Multitouch Controller maximum amount of touch now can be manipulated at runtime.
### Version 1.1.0 ###
- Added a single scripted Multitouch Controller
- Added Sample Project "Finger Choice"
- IMPORTANT: Parameter events are now using custom class arguments
- For those who installed previous version will have some minor changes
- Example: on_pressed(press_position: Vector2) -> on_pressed(args: JoystickOnPressed)
### Version 1.0.3 ###
- Initial Released for Godot 4.3
- Added Joystick Controller