I am developing RTS game in unity3d. I have thousands of units running around the battlefield I can't use unity physics component for collision detection as physics API is not available for job system also thousands of collider running around is not a good idea. Note that I am making a game similar in scope of Mount and blade as in player will control commander and move in the battlefield. Right Now I have implemented pathfinding as done in RTS games(One Unit will decide the path for the whole group). For collision detection following methods are used.
Created imaginary bounds around each unit which calculate distance with other units to determine collision. This method works great but comes with the problem as It is performance heavy also after collision I am simply pushing collision object with force(from bounds it is easy to get the direction of collision) but it looks jaded as sometimes unit just push each other. So I went with another method like used in 2d games collision is determined by radii and distance between objects and on collision movement speed of collider object becomes zero. For second method collision detection works nicely but sometimes both units stop movement due to the collision. Is there any way I can get the direction of collision to push an object with the second method or any way I can improve collision detection even further ?