I'm slowly getting to that part of my project where I want sound effects. Starting with UI sound effects seems like a great intro to the area.
There are a couple designs I'm thinking of:
1. Playing a sound when button goes down, and button goes up.
2. Playing a sound when the button clicked event happens, in the handler.
I think design (1) seems more professional. In this case, wouldn't it make most sense to have the UI Button script to have AudioClip references for Pressed/Normal states? But you need an AudioSource component in order to play an AudioClip. Wouldn't it be a lot of effort to add an AudioSource, Pressesd/Normal AudioClips, and a script to hook them all together, for every button in your UI? In this case I'd have to repeat this setup for 50 buttons or so.. seems like there should be a more streamlined solution.