Предполагая, что вы не хотите, чтобы размеры бокса и коллайдера различались.
Добавьте в Gem скрипт, имеющий переменную «isUsed», и, когда произойдет столкновение, установите для него значение true. Так что в следующий раз, если произойдет столкновение, им можно пренебречь.
void OnTriggerEnter2D(Collision2D other)
{
if(other.gameObject.CompareTag("gem")){
GemScript gemScript = other.gameObject.GetComponent<GemScript>();
if(!gemScript.isUsed){
DO YOU STUFF HERE
gemScript.isUsed = true;
}
}
}