Em pesquisa de internet diz que
" Esse problema ocorre geralmente porque o método OnControllerColliderHit pode ser chamado mais de uma vez no mesmo quadro" desta maneira ele colide mais de uma vez acaba incrementando mais 1 mesmo sendo só um diamante uma das solução que achei foi essa
Porém criar uma lista para não incrementa varias vezes não sei dizer se isso é perfomatico ou não, gostaria de saber se teria outro metodo recomendavel do professor ?
Excelente solução! Utilizar um HashSet garante que a pesquisa ocorra apenas quando a condição hit.gameObject.tag == "Diamante" for verdadeira. Isso torna a abordagem altamente performática, já que a lista será percorrida somente de forma pontual, ou seja, quando o jogador estiver em contato com um diamante.
Outra alternativa eficiente seria criar um script específico e anexar nos diamantes. Nesse script, você pode declarar uma variável booleana:
public bool foiColetado;
E no método de OnControllerColliderHit você poderia colocar: