NullReferenceExpection: Object reference not set to an instance of an object error.
Hello. So i have been working on my script for movement for my character and untill recently, it was working just fine. here is the full error: NullReferenceException: Object reference not set to an instance of an object PlayerMovement.FixedUpdate () (at Assets/Character/Scripts/PlayerMovement.cs:32)
Does anyone have any ideas on whats going on? Here is the script:
using UnityEngine;
using System.Collections;
public class PlayerMovement : MonoBehaviour {
public float speed = 6f;
Vector3 movement;
Rigidbody playerrigidbody;
bool IsFlying = false;
public float mousesensetivity = 2f;
void Start () {
playerrigidbody = GetComponent<Rigidbody>();
}
// Update is called once per frame
void FixedUpdate () {
// rotation
float h = Input.GetAxisRaw("Horizontal");
float v = Input.GetAxisRaw("Vertical");
move(h, v);
float Xrot = Input.GetAxisRaw("Mouse X") * mousesensetivity;
transform.Rotate (0, Xrot, 0);
float Yrot = Input.GetAxisRaw("Mouse Y") * mousesensetivity;
Camera.main.transform.Rotate(Yrot, 0, 0);
Vector3 speed = new Vector3(h, 0, v);
speed = transform.rotation * speed;
}
void move (float h, float v)
{
if (Input.GetKey(KeyCode.Space))
{
if (IsFlying == false)
{
IsFlying = true;
GetComponent<Rigidbody>().velocity = new Vector3(0, 6, 0);
}
}
Vector3 Speed = new Vector3(h, 0, v);
Speed = transform.rotation * Speed / 6;
movement.Set(h, 0f, v);
playerrigidbody.MovePosition(transform.position + Speed);
}
void OnCollisionEnter(Collision col)
{
if (col.gameObject.name == "floor" || col.gameObject.name == "PlatformPrototype08x01x08" || col.gameObject.name == "StepsPrototype04x02x02" || col.gameObject.name == "PlatformPrototype02x01x02")
{
IsFlying = false;
}
}
}
It would be helpful if you would mention the code line that causes the error. I assume it's this one:
Camera.main.transform.Rotate(Yrot, 0, 0);
$$anonymous$$ost likely cause is that your camera is not tagged "$$anonymous$$ainCamera" which is necessary to access it with Camera.main
Do you have a camera tagged as "$$anonymous$$ainCamera" in the scene?
No, I don't. $$anonymous$$aybe thats the problem.
Answer by Dark_Shadow_12 · Sep 01, 2016 at 11:31 PM
oooohhhhhh, that was it. I didn't tag it as a main camera. Thanks for the help.
$$anonymous$$ark your answer as the right answer, just for the sake of letting people know the question was answered...and...I guess giving yourself some karma points? If it will give you then the system should be fixed... But still mark it.
Your answer
Follow this Question
Related Questions
Errors, Errors, and more Errors? 2 Answers
I have an error on a C# script @username 2 Answers
Nav Mesh Problem with SetDestination 1 Answer
Can't solve these errors CS0246 0 Answers
Play Swimming Animation when in water. (ERROR CS0120) 1 Answer