How to make GUI Buttons?

The title says it all. I know how to do this via script, but it there a way to do it other than scripting?

If you ask me the current built-in GUI is kinda suck .
You can use the new 2D features in Unity 4.3 .

Use sprite as buttons and animate and script them however you like, the main reason i would decide to do so is that in order to position a button or w/e in the current GUI system toy will have to :

While(PleasedOfButtonPlace==false)
{
Keep on changing values in the script
}

Instead of just dragging it to where ever you want…