- Home /
OnCollisionEnter acts weird when scene restarts?
Before I get too into this, I should probably show my code for reference:
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class death_system : MonoBehaviour {
void OnCollisionEnter(Collision col)
{
if(col.gameObject.tag == "Enemy")
{
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
Debug.Log ("Oh no I gets hit!");
}
Debug.Log ("Checking...");
}
}
The point of this code, is to make the default FPSController check for the tag "Enemy" when it collides. If it does detect this tag, the scene will be restarted with scene manager. Simple enough, right?
Well, when I first tested this it seemingly worked fine. I would run into the enemy object, an the scene would restart. However when I tried to do it again, after the scene has already been reset once, it no longer worked. I then added the debug messages to try and find where the problem is, but neither of the messages come up the second time around.
I even tried switching OnCollisionEnter with OnCollisionStay, but this had no effect. Am I doing something wrong? Or is this a problem with unity?
(Note, I actually had a lot more written before my browser crashed, so I had to try and condense this post down. If you need more information, please ask.)
Your answer
Follow this Question
Related Questions
Is calling OnCollisionEnter from multiple scripts bad? 0 Answers
OnCollisionEnter is called before the actual collision 3 Answers
2D Platformer Reload Game On Collision With Sprite 1 Answer
Detect collision from a another object,Detect collision from another script 2 Answers
onCollisionEnter function called from another object. 1 Answer