Google cardboard sdk + Bluetooth controller joystick = move ?

I have a project for unity. I use bluetooth controller and i want to move with its joystick with google cardboard sdk. I try this code for move:

        public float speed = 2f;
	public float sensitivity = 2f;
	CharacterController player;

	public GameObject eyes;
	public Transform vrCamera;

	float moveFB;
	float moveLR;

	void Start () {
		player = GetComponent<CharacterController> ();
	}

	void Update () {
		moveFB = Input.GetAxis ("Vertical") * speed;
		moveLR = Input.GetAxis ("Horizontal") * speed;

		Vector3 movement = new Vector3 (moveLR, 0, moveFB);

		movement = transform.rotation * movement;
		player.Move (movement * Time.deltaTime);
        }

its ok, i can move. But i have a problem; I’m walking forward, but when I turn my head, it keeps progressing at the position I did not turn my head. After seeing this, I made the “Head Camera” and “CarboardMain” files rotate the same way. However, the points they look for because of the parent-child relationship are never the same. To do this I use the following headcamera script:

[AddComponentMenu("Cardboard/CardboardHead")]

public class TrackRotation : MonoBehaviour {


		public bool trackRotation = true;

		public Transform target;
		public bool updateEarly = false;

		public Ray Gaze {
			get {
				UpdateHead();
				return new Ray(transform.position, transform.forward);
			}
		}

		public delegate void HeadUpdatedDelegate(GameObject head);

		/// Called after the head pose has been updated with the latest sensor data.
		public event HeadUpdatedDelegate OnHeadUpdated;

		void Awake() {
			Cardboard.Create();
		}

		private bool updated;

		void Update() {
			updated = false;  // OK to recompute head pose.
			if (updateEarly) {
				UpdateHead();
			}
		}

		// Normally, update head pose now.
		void LateUpdate() {
			UpdateHead();
		}

		// Compute new head pose.
		private void UpdateHead() {
			if (updated) {  // Only one update per frame, please.
				return;
			}
			updated = true;
			Cardboard.SDK.UpdateState();

			if (trackRotation) {
				var rot = Cardboard.SDK.HeadPose.Orientation;
				if (target == null) {
					transform.localRotation= rot;		
				} else {
					transform.rotation = target.rotation * rot ;
				}
			}

			if (OnHeadUpdated != null) {
				OnHeadUpdated(gameObject);
			}
		}
	}

Do you have any suggestions? Can I use the joystick part of the bluetooth control with VR to walk?

87183-hierarchy.png

look up NurFace games on youtube. He has some tutroials on VR movement and some movement asset packs