public class CollisionSystem : MonoBehaviour
{
public bool isTouching = false;
public void OnTriggerEnter(Collider col)
{
if (col.gameObject.layer == LayerMask.NameToLayer("Building") ||
col.gameObject.layer == LayerMask.NameToLayer("Obstacles"))
{
isTouching = true;
Debug.Log("true");
}
Debug.Log("OnTriggerEnter");
}
public void OnTriggerExit(Collider col)
{
if (col.gameObject.layer == LayerMask.NameToLayer("Building") ||
col.gameObject.layer == LayerMask.NameToLayer("Obstacles"))
{
isTouching = false;
}
isTouching = false; //delete
Debug.Log("OnTriggerExit");
}
}
I use this script to detect triggers for my city builder game but even though OnTriggerEnter works fine OnTriggerExit does not fire. Both objects have rigidbody, are not kinematic, layers are set and is Trigger selected. What am I doing wrong?