So i have this really simple setup for now:

Idle is a bit longer animation where character stands still, then looks around, then scratches head. The thing that I want is that always when going from Run to Idle, the Idle animations start right from beginning (where character stands still). But instead when playing around it often, when transitioning from Run, starts to play the Idle animation from middle or end (where it looks around on scratches head). How could I fix this?
You can’t do that in a blend tree because you have no control over the timing. You would need to script a timer to transition to a separate idle state when the character gets bored. That would also let you choose between several different bored animations.
Are there any good resources on how to control/play Animations via scripting? Not losing the blend feature of course…
The 3D Game Kit has an implementation of this mechanic, though the code quality is pretty bad so I wouldn’t exactly call it a good resource.
You might also be interested in Animancer (link in my signature) which gives you much cleaner scripting control over everything and has lots of detailed Examples, including a direct conversion of the 3D Game Kit.