I’ll have 15 3D characters surrounding a table, and animation for idle starts … and starts for the same time on all characters, with the same speed! It looks more like a cult right now 
Do I need to create separate controllers with the same animation, and make each controller a different #?
Or can I do something with a new variable? I’m not sure how to do that with just ONE controller though. I’d like the idle animation to be more random per char.
Any easy ways to do this? I’m still a nub, so sorry if I’m a bit vague. I’m in a Unity class right now, ironically, during downtime – I can post a screencast later, if requested.
One way is to use Animator.Play(string stateName, int layer, float normalizedTime) third parameter.
See http://docs.unity3d.com/ScriptReference/Experimental.Director.IAnimatorControllerPlayable.Play.html (that’s same Play as Animator.Play, and it has manual)
Same question btw: Set the current time / frame of a Mecanim animation - Questions & Answers - Unity Discussions
Using it you can write simple script like
using UnityEngine;
public class RandomAnimationTime : MonoBehaviour
{
void Start()
{
this.GetComponent<Animator>().Play("StateName",-1,Random.Range(0,1));
}
}
Which will set random animation time to play if you change StateName to your state name in Animator Controller and attach it to character.
Same Controllers shouldn’t matter: each character must have separate Animator, not Animator Controller.