you can not do that with Unity gui as unity gui always has rectangular buttons.
This is really a job for NGUI or EZGUI where you can use real meshes and mesh colliders for the buttons as thats exactly what you must do.
That or you need to handle the interaction completely outside the UI layer and do it purely mathematical basing on the position of the mouse / touch at the time of interaction
So with the menu i am looking to create, will the GUITexture for each button overlap causing clicking issues. Is there a solid way to maybe check the pixel color of the click and operate the menu that way?
Ok, had a think about this over night. You should be able to use standard OnGUI elements to position your texture2D’s. From there you could use Texture2D.GetPIxel to attain the color of the button pressed…
eg, if color != transparent color == RGB-red/RGB-blue etc
Now, this would only work if the UI buttons where flat in color. and you may need to work out some tolerance for the actual color value of the button and a ‘detected’ value. (+/- in the color spectrum).
Alternatively each button could act as an independent object and send it’s own message back to a UI Controller class (Have a look at SendMessage() )