The Joystick is one of the basic controllers for playing your games. The Joystick can send values based on the direction it's pushed to, as well as the magnitude and angle of the push.
Connect the Joystick to a Mover, Force or Rotator node and change the value ranges to adjust the resulting movement.
📢 Note: Joystick has small dead zone in the middle where no values will be sent through the outputs.
Enabled | Enable or disable to node. Disabled nodes cannot be executed |
Remember Old Value | Saves the value from the last joystick position. This will be used as the starting value when the joystick is used again |
Analog | If toggled on, the joystick can send a continuous range of values between its minimum and maximum limits. If toggled off, the node can send either the minimum or the maximum value, nothing in between. |
Enable Smooth Step | Smoothens the input from the joystick. |
Lock Start Position | If toggled on, the joystick's position at the start of the touch will be fixed |
Draggable | Makes it possible to drag the joystick around. |
Preview | Preview the Joystick in the Editor without playtesting |
“On End” When Disable Cancels Touch | When toggled on, On End output will send a signal if the node is disabled during game play |
Visibility | Toggles the visibility of the joystick. |
Type | Select between 3 different Joystick Types. X-Axis = Horizontal movement only Y-Axis = Vertical movement only XY-Axis = 360 degree range of motion |
Align X | Select the horizontal placement of the Joystick |
Align Y | Select the vertical placement of the Joystick |
Touch Area Size | Sets the area in which the joystick can be used. |
Color | Select the color of the Joystick from available UI Colors or create a new color |
Icon Color | Select the color of the Joystick Icon from available UI Colors or create a new color |
Appearance | Choose between different visual styles for the Joystick |
Icon | Select an Icon to appear on the Joystick. This helps players understand what it does |
Description | Select between preset descriptions or create custom text. These appear on the Joystick and help players understand what it does |
Touch Start | Sends signals or values when the player first touches the joystick. |
Touch End | Sends signals or values when the player releases the joystick. |
Move: Magnitude Min / Max | Magnitude represents the distance from the middle of the Joystick. Min Value is when it's in the middle, and Max Value is when it's at the border. |
Move: Axis X Min / Max | Set the relative minimum and maximum values that the Joystick can send when it's moved on the X-axis: left or right |
Move: Axis Y Min / Max | Set the relative minimum and maximum values the Joystick can send when it's moved on the Y-axis: up or down |
Move: Angle | Outputs joystick's relative angle ranging from -180 to 180. |
Short summary of how the joystick works:
https://www.youtube.com/shorts/FyKyVSBXfT4?feature=share
Here's a link to a demo that shows how to use the Joystick node: