Error makes program lag in runtime

So it works now, but using direct movement (wasd) lags me alot, and when I click lots of different areas in a short amount of time that slows it down greatly too. I’m also getting this error every second that I presume is doing it (Nullreferenceexception: Object reference not set to an instance of an object Playermovement.FixedUpdate() (line 55)
Here is what I got

using System;
using System.Collections;
using UnityEngine;
using UnityEngine.UI;
using UnityStandardAssets.Characters.ThirdPerson;

[RequireComponent(typeof (ThirdPersonCharacter))]
public class PlayerMovement : MonoBehaviour
{

[SerializeField] float walkMoveStopRadius = 0.25f;

ThirdPersonCharacter Character;   // A reference to the ThirdPersonCharacter on the object
CameraRaycaster cameraRaycaster;
Vector3 currentClickTarget;

bool isInDirectMode = false; 
    
private void Start()
{
    cameraRaycaster = Camera.main.GetComponent<CameraRaycaster>();
    Character = GetComponent<ThirdPersonCharacter>();
    currentClickTarget = transform.position;
}

// Fixed update is called in sync with physics
private void FixedUpdate()
{

	if (Input.GetKeyDown(KeyCode.G)) { 
		isInDirectMode = !isInDirectMode; 
		currentClickTarget = transform.position; //clears target
	}

	if (isInDirectMode) {
		ProcessDirectMovement ();
	} else {
		ProcessMouseMovement ();
		var playerToClickPoint = currentClickTarget - transform.position;
		if (playerToClickPoint.magnitude >= walkMoveStopRadius) {
			Character.Move (currentClickTarget - transform.position, false, false);
		} else {
			Character.Move (Vector3.zero, false, false);
		}

	}
}

private void ProcessMouseMovement() {
	if (Input.GetMouseButton (0)) {
		print ("Cursor raycast hit " + cameraRaycaster.currentlayerHit);
		switch (cameraRaycaster.currentlayerHit) {
		case Layer.Walkable:
			currentClickTarget = cameraRaycaster.hit.point; 
			break;
		case Layer.Enemy:
			print ("Not moving to enemy");
			break;
		default:
			print ("SHOULDN'T BE HERE");
			return;
		}
	}
}

private void ProcessDirectMovement() {

	print ("Direct Movement"); 

	float h = Input.GetAxis("Horizontal");
	float v = Input.GetAxis("Vertical");

	Vector3 CamForward = Vector3.Scale (Camera.main.transform.forward, new Vector3 (1, 0, 1)).normalized;
	Vector3 Move = v * CamForward + h * Camera.main.transform.right;

	Character.Move (Move, false, false);
}

//TODO Fix Nullreference exception reference not set to instance of object
// line 45 playermovement.fixedupdate.

}

Nevermind I fixed it, some of my enemy placeholders had movement script so it was lagging me out