Touch interface with alternative keyboard in Unity3D?

Best approach/idea for touch interface/designs?

I am trying to figure out how to let the user/player enter data from a touchdevices like iOS/Android devices.

I was thinking of something similar to the Google popup keyboard on Google Search, or the native keyboards within these devices. But as I dont have one of them yet for testing, I am focusing on how to implement one with Unity3D as a GUI interface.

Anyone got some ideas or better, experience with making these?

Current ideas:

  1. GUI texture overlay with keyboard layout, a bit annoying to map each key for a texture/area.

  2. GUI buttons for each key (looks ugly, but might work for a start and easy to build dynamically)

  3. 3D objects as keys, sounds like an overkill to me.

What else?

I would just wait till you have one of the devices for testing and use the native keyboards. If you insist on making one in Unity I’d go for GUI buttons.