Animation Issues - Reversing

It seems like Unity can not handle reversing animations very well. It seems to be a common issue on these forums with no real solution other then making a second animation.

As an example I have a simple 3D menu object with a unity created animation that when you click on a button translates upwards, then clicked again translates downwards. Using animation speed *= -1 and clamp forever I can make it come up and down at ANY point during the animation.

The issue is that there are random significant delays or does not register at all. Also some times the reverse speeds can feel broken.

I have tested it throughly and I am certain this is a unity issue.

Can anyone shed some light on a possible solution or has anyone else encountered the same issue? I find this surprising as its just a simple procedure which unity really struggles with!

Thanks in advance!
Pip

I have used ezgui in order to fix the issue, but I would still love to know why unity has such a hard time dealing with it.