Разница между функциями OnCollisionEnter и OnCollisionStay в Unity заключается в том, что OnCollisionEnter вызывается один раз в момент столкновения объектов, а OnCollisionStay — непрерывно, пока происходит столкновение. 14
OnCollisionEnter принимает объект Collider, который содержит информацию о столкновении, включая ссылку на другой игровой объект, с которым произошло столкновение. 1
OnCollisionStay принимает объект Collision, который содержит информацию о происходящем столкновении. 1 Эта функция вызывается один раз за обновление физики, пока два коллайдера находятся в контакте. 3
Таким образом, OnCollisionEnter отвечает за первое столкновение, а OnCollisionStay — за то, что происходит во время него.