Cannot implicity convert type 'UnityEngine.Vector3' to 'UnityEngine.Quaternion'

Hello guys, I’m trying to make a câmera direction oriented move (like Assassin’s Creed) and I need my character to turn to it’s directions based on where the câmera is facing. I’ve spend last night and all the afternoon trying it, but got no result. What I’m trying to, is to get de Camera.main.transform.forward and convert it as a Quaternion, so I can use only to rotate on Y axis, otherwise the character would walk and face the air or the ground. So here’s my code, it’s still showing the same error “Cannot implicity convert type ‘UnityEngine.Vector3’ to ‘UnityEngine.Quaternion’”. I’ve put the “yTarget” on the update, so everytime the câmera changes, it updates the new “forward”. Can anyone help me and tell where it is wrong?

using UnityEngine;
using System.Collections;

public class PlayerMovement : MonoBehaviour {
		public float speed = 6.0F;
		public float runSpeed = 15F;
		public float jumpSpeed = 8.0F;
		public float gravity = 20.0F;
		Vector3 moveDirection;

		void Update() {
				Quaternion yTarget = Camera.main.transform.forward;
				CharacterController controller = GetComponent<CharacterController>();
				if (controller.isGrounded) {
						if (Input.GetButton ("Vertical"))
								transform.rotation = Quaternion.Euler (0f, yTarget.y, 0f);
						if (Input.GetButton("Jump"))
								moveDirection.y = jumpSpeed;

		moveDirection.y -= gravity * Time.deltaTime;
				controller.Move(moveDirection * Time.deltaTime);


I’m using the CharacterController.Move of scripting reference as base and the OrbitCam.
Sorry for any mistakes on the text, eng not my native lang.

The error message should give you a line number, which I imagine points you to:

Quaternion yTarget = Camera.main.transform.forward;

Camera.main.transform. forward is a vector. So you can’t assign it to a quaternion variable. yTarget needs to be a Vector3…