So I’m Using This Script From a Video, And Currently I got This Error
error CS0103: The name ‘controller’ does not exist in the current context
This Is The Code
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MovementController : MonoBehaviour
{
[SerializeField] private float movementSpeed = 2f;
private float currentSpeed = 0f;
private float speedSmoothVelocity = 0f;
private float speedSmoothTime = 0.1f;
private float rotationSpeed = 0.1f;
private float gravity = 3f;
private Transform mainCameraTransform = null;
private CharacterController Controller = null;
private Animator animator = null;
private void Start()
{
controller = GetComponent();
animator = GetComponent();
mainCameraTransform = Camera.main.transform;
}
private void Update()
{
Move();
}
private void Move()
{
Vector2 movementInput = new Vector2(Input.GetAxisRaw(“Horizontal”), Input.GetAxisRaw(“Vertical”));
Vector3 forward = mainCameraTransform.forward;
Vector3 right = mainCameraTransform.right;
forward.Normalize();
right.Normalize();
Vector3 desiredMoveDirection = (forward * movementInput.y + right * movementInput.x).normalized;
Vector3 gravityVector = Vector3.zero;
if(!controller.isGrounded)
{
gravityVector.y -= gravity;
}
if(desiredMoveDirection != Vector3.zero)
{
transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(desiredMoveDirection), rotationSpeed);
}
float targetSpeed = movementSpeed * movementInput.magnitude;
currentSpeed = Mathf.SmoothDamp(currentSpeed, targetSpeed, ref speedSmoothVelocity, speedSmoothTime);
controller.Move(desiredMoveDirection * currentSpeed * Time.deltaTime);
controller.Move(gravityVector * Time.deltaTime);
}
}
[/code]