Проблема в том, что OnCollisionExit не срабатывает, когда удаляется объект на котором стоит мой объект. Я искал подобную проблему в интернете, но единственной решение которое я нашёл, это скрипт на удаляемом объекте с методом OnDestroy с вызыванием события удаления в нём. Как по мне, это не очень удобно (так как на каждый разрушаемый объект надо накидывать этот скрипт, а таковых много), и возможно есть способ лучше.
Вот текущее решение:
Удаляемый объект:
static public event Handler Destroyed;
void OnDestroy(){
Destroyed?.Invoke();
}
Мой объект (с OnCollisionEnter):
void Start(){
DestroyedGameObject.Destroyed += (gameObject) => Exit(gameObject);
}