cursor appear as a white quare when using hardware cursor

I used this code (everything is working fine with it) to change my cursor into a custom cursor to be controlled by hardware to prevent lag.

var cursorTexture : Texture2D;
var cursorMode : CursorMode = CursorMode.Auto;
var hotSpot : Vector2 = Vector2.zero;

function OnMouseOver () {
Cursor.SetCursor(cursorTexture, hotSpot, cursorMode);
}

I have attached the image I am trying to use with this post.5662-targetnormal.png

This cursor shows normally when using software mode on windows 7 but not when using hardware mode… is there a way to solve this issue?

I am using unity 4 free version.

check then cursor texture type, it need to be type “Cursor”, and the texture cannot be placed in the “Resources” folder, so I only can set all the cursor texture by the monobehavior