W tym przykładzie będziemy obracać obiektem 2D względem pozycji kursora na ekranie.
Camera cam;
void Start()
{
cam = Camera.main;
}
void Update()
{
Vector3 mousePos = cam.ScreenToWorldPoint(Input.mousePosition);
Vector3 diff = mousePos - transform.position;
diff.Normalize();
float rotZ = Mathf.Atan2(diff.y, diff.x)*Mathf.Rad2Deg;
transform.rotation = Quaternion.Euler(0f,0f,rotZ);
}