You need to use mouse move to achieve better results:
- On mouse down you save current mouse position, set some bool so mouse move function can calculate the change in drag,
- Mouse move you Get current mouse position and subtract it from old mouse position
- Mouse up you stop mouse move
Here’s a working example I have, in the last image you see I’m using add local rotation to a spring arm so replace the spring arm with a mesh or whatever you want to rotate.