- Home /
MissingReferenceException
I am very new to coding and don't know what I'm really doing. I am happy with were my game is at, at the moment however I constantly keep getting the same error code:
MissingReferenceException: The object of type 'Transform' has been destroyed but you are still trying to access it.Your script should either check if it is null or you should not destroy the object. UnityEngine.Transform.get_position
{
public Transform player;
public Vector3 offset;
bool playercollision = false;
void Update()
{
transform.position = player.position + offset;
if (playercollision == false)
{
playercollision = true;
Debug.Log("Camera stop following!");
}
}
} I understand that object gets destroyed when colliding with a obstacle and that my camera is trying to access it even though it has been destroyed and I would like my camera to stop trying to follow the object as soon as it gets destroyed. as my object gets destroyed the debug.log works in the console i just don't know how to stop the camera to follow the object. I have watched many tutorials but none have gone over this topic. plz help
,I want to keep the game exactly how it is however I don't know how to stop the error code: MissingReferenceExceptionThe object of type 'Transform' has been destroyed but you are still trying to access it.Your script should either check if it is null or you should not destroy the object. UnityEngine.Transform.get_position.
the game works fine however I don't want to access the object after it has been destroyed.
{
public Transform player;
public Vector3 offset;
bool playercollision = false;
void Update()
{
transform.position = player.position + offset;
if (playercollision == false)
{
playercollision = true;
Debug.Log("Camera stop following!");
}
}
this happens because the object that collides gets destroys and the camera is coded to carry on following it even know it has been destroyed . I would like the camera to stop following the object as soon a it collides with the obstacle that destroys it
Answer by Thev2Andy · Feb 29, 2020 at 10:28 AM
You can try to do this, for disabling the camera follow script. Place the script on a always active gameobject, to decrease the chance that it ins't working.
public class MyClass : MonoBehaviour { public Transform player; void Update() { if(player == null) { yourCam.GetComponent<YourScriptName>().enabled = false; } } }
Answer by Luemus · Feb 29, 2020 at 10:47 AM
public Transform player;
public Vector3 offset;
bool playercollision = false;
void Update()
{
if(player == null) return; // This line checks if player exists or not.
transform.position = player.position + offset;
if (playercollision == false)
{
playercollision = true;
Debug.Log("Camera stop following!");
}
}
You can check if the player exists in the game by checking if it is null or not and quiting the function if there is no player.
Your answer

Follow this Question
Related Questions
2D camera follow horizantal only? 1 Answer
Help make camera zoom smoother 3 Answers
Top down camera lock 2 Answers
Camera points towards object but doesn't go to it 2 Answers
Camera leaning problems (Lerping) 0 Answers