How to approach making a custom joystick?

To make the character face the joystick’s angle, I calculated the vector between the input position and the center of the joystick, while binding a function that rotates the character based on that vector to RunService.

Is there anything in particular you did not understand about the stick on the right aside from this?

i didnt know you have to set the device orientation to landscape left manually in startergui ty for showing me that doc on roblox article