IEnumerator FakeButtonPress (GameObject uiButton)
{
uiButton.SendMessage("OnPress",true); //emulate user press on button
var pressTime = Time.realtimeSinceStartup;
while (Time
.realtimeSinceStartup - pressTime
< 0.2) yield return new WaitForEndOfFrame
(); //wait for 0.2 seconds of real time uiButton.SendMessage("OnPress",false); // emulate user release of button
uiButton.SendMessage("OnClick"); //to actually invoke what the button invokes
}