private void Awake() { //Get Movement Controller. warriorMovementController = GetComponent <WarriorMovementControllerFREE>(); //Add Input and Timing Controllers. warriorInputController = gameObject.AddComponent <WarriorInputControllerFREE>(); warriorTiming = gameObject.AddComponent <WarriorTimingFREE>(); warriorTiming.warriorController = this; //Add IKHands. ikHands = GetComponent <IKHands>(); //Setup Animator, add AnimationEvents script. animator = GetComponentInChildren <Animator>(); if (animator == null) { Debug.LogError("ERROR: There is no Animator component for character."); Destroy(this); } else { animator.gameObject.AddComponent <WarriorCharacterAnimatorEvents>(); animator.GetComponent <WarriorCharacterAnimatorEvents>().warriorController = this; animator.gameObject.AddComponent <AnimatorParentMove>(); animator.GetComponent <AnimatorParentMove>().anim = animator; animator.GetComponent <AnimatorParentMove>().warriorMovementController = warriorMovementController; animator.updateMode = AnimatorUpdateMode.AnimatePhysics; animator.cullingMode = AnimatorCullingMode.CullUpdateTransforms; } leftHandTrans = transform.Find("ArrowSpawn"); }