AI that surrounds the player with RVO enabled

I’m trying to achieve basic melee AI pathing with AStar Pro (beta 3.8.5) and a Recast graph, but I’m struggling to get a satisfactory result. Enemies should move to the player (or as close as they can get) and avoid running into each other, or pushing each other, on the way.

I create 8 waypoint targets in a circle around the player and assign them to each AStar AI in the scene. One per AI.

I’ve tried to achieve this using the following:

  1. RichAI & RVOController (With funnel simplification)
  2. AIPath & RVOController (With funnel modifier that doesn’t really seem to work…)
  3. MineBotAI & RVOController

I’ve had the most success with number 1, but enemies will frequently attempt to path through my unity fpscontroller (the player) to reach their destination. Or they slide about randomly to let another enemy through to its destination (seemingly unpredictably - different results each time), only to be pushed away from their own destination that they can no longer reach (even though there should be a viable path). Adding an RVOController to the player seemed to correct the first issue, but may be affecting the sliding about.

AIPath agents will strafe to avoid each other rather than turn, so this one is not ideal to me. The AI agents also appear to swarm rather than take straight lines to the target (with the funnel modifier on - and RVOController on or off). Once they do reach their destination, their behaviour isn’t anymore predictable than the RichAI agents (one can block another’s path etc).

Number 3 doesn’t work at all, as the RVOController no longer moves the unit in beta 3.8.5, so unless I remove the controller or rewrite the script it won’t work.

What is the best practice to achieve what I’m trying to achieve? Do you have any suggestions that might get rid of the issues I’m seeing?

YouTube keeps deleting my video flagging it as innappropriate, so here’s a vimeo link:

https://vimeo.com/195085886