нашел в answers.unity3d.com такой вариант
Синтаксис:
Используется csharp
using System;
using System.Runtime.InteropServices;
/// меняет курсор на руку
public static void changeCursorToHand(){
SetCursor(LoadCursor(IntPtr.Zero ,32649));
}
/// меняет курсор на стрелочку
public static void changeCursorToArrow(){
SetCursor(LoadCursor(IntPtr.Zero ,32512));
}
[DllImport("user32.dll", CharSet=CharSet.Auto, ExactSpelling=true)]
public static extern IntPtr SetCursor(IntPtr hCursor);
[DllImport("user32.dll")]
public static extern IntPtr LoadCursor(IntPtr hInstance, int lpCursorName);
[DllImport("user32.dll")]
public static extern IntPtr LoadImage(
IntPtr hInstance,
string lpImageName,
uint uType,
int cxDesired,
int cyDesired,
uint fuLoad
);
при вызове меняет курсор на руку, но если двинуть курсор то становится обратно стрелкой
в update запихивать не вариант
подскажите плиз как по правильному сделать? мб через какуюнить другую библиотеку?