About the problem:
I have got a Player that has two scripts attached(PlayerController and Entity), a rigidbody(isKinematic checked, no gravity), NavMeshAgent and SphereCollider.
Then I have got two exactly the same Enemies that have two scripts attached aswell(EnemyAI,Entity), a rigidbody(same),NavMeshAgent and SphereCollider.
Now the problem is that, I can go through them and they can go through eachother aswell. And this is something I deffinitely want to get rid of. To Move both enemy and player I simply use agent.destination. I put them also on different layers consequently “enemy” and “player” and marked to detect collision between them. Unfortunately that didn’t appear to help.
And here goes my question. How to solve that? Thanks for your time and suggestions, hopefully they will lead me to the solution.
I guess it’s because isKinematic is set to true, set to false and see if that helps.
Well it does, but if I uncheck isKinematic I can move my enemy (for example I am at the tunnel and he is standing at the entrance, I can just click to move forward and eventually he will be forced to move and this is something i need to avoid). They should be non-kinematic indeed, but I need something to prevent them pushing eachother.
Why do you need Rigidbody on them anyway if you are using Navigation?
Ok so you all setup sounds a bit confusing now. I can only suggest to use Vector3.Distance instead of OnTriggerEnter. Basically check the distance between the player / other objects and trigger them if distance is less than x.
I have got a gameObject for enemy with children empty objects that contains box colliders(for attackArea, for chaseArea, for LookAt Area). I want to use navmesh for pathfinding and those triggers for detecting if player has reached any of enemy’s area to behave properly for every of those areas. This results in having gameobject for player and enemy that contans rigidbody collider and navmeshagent. Of course I will keep in mind your suggestion about Vector3.Distance and i found it really helpfull as I totally forgot about this. But triggers are faster, aren’t they? That’s why I’d rather keep this setup but fix the collision detection between actors. If u’ve got anything more in your mind to help me I am here. Also waiting for someone else to response. Thanks again for your time.
non-kinematic rigidbody with gravity , drag set to 1 and increased mass did the job. Thanks for help 
Hey Power07RM,
I have the same problem… I cant figure it out… Im missing something… Or what… Could you attach the example source code pls??
Thank You very much!
example source code of what? My issue was mostly about setting up the components of both player and enemy and as I said they should be non-kinematic(isKinematic is unchecked - because then the rigidbody can detect the collision), drag - at least in my case - set up for 1(It’s causes less impact of forces), useGravity checked ( in my case enemies and player are walking on the ground and this also prevents flaying away when the collision appears) and mass! I set up mass to 100 like they are muscle guys. What I accomplished is that I have 10 enemies(for example) and player trying to go through the crowd and it is slightly possible(but still is), but what’s important they are not flaying away and when collision is detected I can no longer see the vibrations(I could’ve seen them before because my camera position is based on player’s transform.