Obj Ref error at end of code?

Help! I copied this code as is to build a tutorial project, and it should be 100% correct, can someone tell me where I’m wrong? I believe it’s telling me I need to define “movement”, but I’ve defined it as shown in the following code.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[RequireComponent(typeof(CharacterController))]
[AddComponentMenu("Control Script/FPS Input")]
public class FPSInput : MonoBehaviour {
	public float speed = 6.0f;
	public float gravity = 9.8f;

	private CharacterController _charController;

	void start () {
		_charController = GetComponent<CharacterController>();
	}

	void Update () {
		float deltaX = Input.GetAxis("Horizontal") * speed;
		float deltaZ = Input.GetAxis("Vertical") * speed;
		Vector3 movement = new Vector3(deltaX, 0, deltaZ) ;
		movement = Vector3.ClampMagnitude(movement, speed) ;

		movement.y = gravity;

		movement *= Time.deltaTime;
		movement = transform.TransformDirection(movement) ;
		_charController.Move(movement);
	}
}

Hopefully someone can tell me what’s wrong.

You most likely get a NullReferenceException in line 27. This is because you never initialized _charController because your method start() is never being called since Unity only knows a method that is named Start().

So change the method name from “start” to “Start”.

I don’t see any errors in this code. Mind sharing the console’s error messages?