void ProcessKeyboardMovement() { float h = CrossPlatformInputManager.GetAxis("Horizontal"); float v = CrossPlatformInputManager.GetAxis("Vertical"); // calculate camera relative direction to move: Vector3 cameraForward = Vector3.Scale(Camera.main.transform.forward, new Vector3(1, 0, 1)).normalized; Vector3 movement = v * cameraForward + h * Camera.main.transform.right; character.Move(movement, false); }