error CS0101: The namespace `global::' already contains a definition for `PlayerMovement'

using UnityEngine;

public class PlayerMovement: MonoBehaviour
	public float speed = 6f;
	Vector3 movement;
	Animator anim;
	Rigidbody playerRigidbody;
	int floorMask;
	float camRayLength = 100f;
	void Awake()
		floorMask = LayerMask.GetMask ("Floor");
		anim = GetComponent <Animator> ();
		playerRigidbody = GetComponent<Rigidbody> ();
	void FixedUpdate()
		float h = Input.GetAxisRaw ("Horizontal");
		float v = Input.GetAxisRaw ("Vertical");
		Move (h, v);
		Turning ();
		Animating (h, v);
	void Move (float h, float v)
		movement.Set (h, 0f, v);
		movement = movement.normalized * speed * Time.deltaTime;
		playerRigidbody.MovePosition (transform.position + movement);
	void Turning()
		Ray camRay = Camera.main.ScreenPointToRay (Input.mousePosition);
		RaycastHit floorHit;
		if (Physics.Raycast (camRay, out floorHit, camRayLength, floorMask))
			Vector3 playerToMouse = floorHit.point - transform.position;
			playerToMouse.y = 0f;
			Quaternion newRotation = Quaternion.LookRotation (playerToMouse);
			playerRigidbody.MoveRotation (newRotation);	
	void Animating(float h, float v)	
		bool walking = h != 0f || v != 0f;
		anim.SetBool ("IsWalking", walking);

I had this issue

I searched for playerMovement on the assets search bar and it came up with two same named files.

one of them didn’t have any of the coding that the video instructed so I deleted it and mine worked.

Hope this helps for you too!