Olá, Charles! Tudo bem?
Isso pode acontecer devido à maneira como o Unity lida com a física.
Quando dois Box Colliders estão sobrepostos, o Unity pode ter dificuldade em calcular corretamente a colisão. Da mesma forma, quando você força o personagem na diagonal, o Unity pode interpretar isso como um espaço suficientemente grande para o personagem passar.
Uma possível solução para o problema da sobreposição é usar um Collider composto. Em vez de ter dois Box Colliders sobrepostos, você pode adicionar múltiplos Box Colliders ao mesmo objeto para criar uma forma mais complexa. Isso pode ajudar a evitar que o personagem atravesse o objeto.
Quanto ao problema da diagonal, você pode tentar aumentar a precisão da detecção de colisão. Para fazer isso, você pode ir ao componente Rigidbody do seu personagem e alterar o "Collision Detection" para "Continuous". Isso fará com que o Unity verifique colisões de maneira mais frequente, o que pode resolver o problema de atravessar objetos ao forçar a diagonal.
Lembre-se de que essas são apenas sugestões e podem não funcionar perfeitamente em todos os casos. É importante experimentar diferentes configurações para encontrar a que melhor se adapta ao seu jogo.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.