/// <summary>
 /// Start is called on the frame when a script is enabled just before
 /// any of the Update methods is called the first time.
 /// </summary>
 protected virtual void Start()
 {
     characterController = controller.GetCharacterController();
 }