not sure if userinputservice has a solution, but the way I do it is,
cast a ray from a screen point
then just use the rayresults to get origin and hit and such (oh and to get mouse.hit, of course just put in the mouse x and y position into ScreenPointToRay() function)
What i’ve been thinking is using a method to convert UDim into vector, that way the mouse’s position on the screen can be converted to a 3d vector…
I found this: