VirtualJoystick is a configurable UI control that captures touch and mouse drag input through a joystick metaphor. Users drag the stick within a bounded radius, and the component continuously emits normalized movement data including position, direction, angle, distance, and speed. Visual appearance is adjustable through size, color, transparency, shadows, glow, grooves, gradients, and animation timing, or quickly applied via preset styles. Input sensitivity is controlled using deadzone and maximum distance, ensuring stable center behavior and predictable output. When released, the stick animates smoothly back to center, making the component suitable for real-time navigation, movement, or control systems.