//Get inputs
float horzInput = Input.GetAxis("Horizontal");
float vertInput = Input.GetAxis("Vertical");
//Calc Velocity
Vector3 direction = new Vector3(horzInput, 0.0f, vertInput);
Vector3 velocity = direction * _speed;
//Gravity
velocity.y -= _gravity;
//Convert localSpace velocity to worldSpace
//velocity = transform.transform.TransformDirection(velocity);
velocity = transform.TransformDirection(velocity);
//Move
_controller.Move(velocity * Time.deltaTime);