I’ve used a GUI Texture to add my button image to the screen and positioned it correctly, then have added a script. I’m using OnMouseEnter, OnMouseExit and OnMouseDown() but not sure how to change the cursor to a pointer (the hand) when it’s hovered over (just like a link on a web page).
Also not sure how to change the GUI Texture to a the “hover” image state when hovered over.
Am I using the correct components or should I create this button using script instead?
It is possible to change the cursor in Unity, this feature was added in 4.3 I believe.
Use Cursor.SetCursor - Unity - Scripting API: Cursor.SetCursor
To change the GUI texture to an other hover over texture you will need access to the GUI Texture instance.
See here - http://docs.unity3d.com/ScriptReference/GUITexture-texture.html
I would also recommend you use either a GUI.Button or the new Unity 4.6 method for GUI buttons.
Both ways will allow you to specify the on mouse over effect without code, you can then just do the Cursor changes in script.
If you are using Unity 4.6 then I would suggest using the new UI system to create a button instead of the GUI texture technique you are doing.