Animator, gameObject position problem

I have idle & popout animations. Idle- simple scaling up and down 2d object and popout- get the gameobject’s position to the right and leave it there. I’m using animator for this purpose. I have a trigger Popout, which when triggered the animator goes from playing the Idle animation to the popout animation. Then another transition from the popout anim back to the idle anim. The problem is that when it gets back to the idle anim, the position gets back to the first one(i.e. as if the popout anim hasn’t been played). My goal is, after playing the popout, the gameObject to stay at the last position from the popOut anim and to continue to be scaled up and down(the idle anim). My goal is, the gameObject to keep its last position set from the popout anim(which is to the right of its initial one) and to continue playing the idle anim from there instead of going back to its initial position.

Why does the animator reverses the gameobejct’s position to its initial one, after the popout anim has been played?

In this video you can see the problem and what exaclty I’m doing.

Unity 5 introduced Root Motion. This solves your problem without any scripting.

Unity 5 - Root Motion Authoring