same Animator different speed values

Hi, I am developing a little tool for the artist, they are developing some static obstacles like moving dangerous objects, that do the same movement over and over, but they want to change the speed of the clip using a slider, I already have that they pick a gameobject with a animator put it on the script and I take the list of animations and the current speed, and after they move the slider the speed actually changes but when they use the same animator on differents gameobject the last one to start is the speed that rules all of the animations, is there a way to change the speed of a clip, just in the gameobject?

this is how I set the speed

for(int i = 0 ; i < animations.runtimeAnimatorController.animationClips.Length ; i++)
{
controller = (AnimatorController)animations.runtimeAnimatorController;
controller.layers[0].stateMachine.states_.state.speed = animSpeed*;_
print(controller.layers[0].stateMachine.states_.state.name + " have speed of " + animSpeed);
}*_

I hope you can help me, and In advance thanks and sorry for my bad english

AnimatorControllers and the AnimatorStateInfo.speed property are shared across all instances that use said controller. so if you set the speed value for a state in mecanim to 0.5, all instances that use that animation will use the 0.5 animation speed.

Instead try using the Animator.Speed property or write up a StateMachineBehaviour which will figure out which speed to use. you can have the speeds saved in a Monobehaviour which the StateMachineBehaviour can grab via Animator.GetComponent.

Ok, StateMachineBehaviour? thx