Check for a touch in a limited area on the left, keep that touch point(origin) and start drawing the joystick under the finger, and for as long as it is held down, compare the current touch point to the origin touch point and move the character in that direction, of course limit how far “the joystick” can be moved to limit how fast the player can move, also the inner area of the joystick’s reach circle should have a “hollow” center so the player doesn’t need to have microscopic precision fingers to keep their character still while holding the joystick.