gui button .

how can i make a gui button that is not visible but can be pressed . So the player can't actually see it but can press it ?

You just need empty content and an empty style; there are even some built-in empty ones you can use, e.g.

if( GUI.Button( rect, GUIContent.none, GUIStyle.none ) )