// Start is called before the first frame update
        void Start()
        {
            // get the transform of the main camera
            if (Camera.main != null)
            {
                m_Cam = Camera.main.transform;
            }
            else
            {
                Debug.LogWarning(
                    "Warning: no main camera found. Third person character needs a Camera tagged \"MainCamera\", for camera-relative controls.", gameObject);
                // we use self-relative controls in this case, which probably isn't what the user wants, but hey, we warned them!
            }

            // get the third person character ( this should never be null due to require component )
            m_Character = GetComponent <SoccerPlayerCharacter>();
        }
 private void Awake()
 {
     // get the components on the object we need ( should not be null due to require component so no need to check )
     agent     = GetComponentInChildren <UnityEngine.AI.NavMeshAgent>();
     character = GetComponent <SoccerPlayerCharacter>();
 }