For example, I have an ordinary rotated part, I then hover my mouse over the part. Is it possible to get the SurfaceType I'm hovering over? Like FrontSurface, BackSurface, etc.
You can use ZIndex, a property of Gui objects. Higher values are at the front.
Never mind I have found the answer. There's a property of Mouse called TargetSurface.