What am I doing wrong here?
In Addition, I noticed that unitys navmesh keeps its agents inside the navmesh, no matter what, whereas RVO controller can be pushed through RVO Obstacles, even if they are created by RVONavmesh. (same for the RVOGridGraph, but this is not included in the pack).
For the RichAI it looks like you are adding a wall avoidance force which pushes to agents to much away from the walls so that they are not able to follow the path efficiently.
That they can be pushed inside obstacles is an unfortunate side effect of me having to change the algorithm used in the system from a geometric one to a sampling based one. Previously the project used a geometric algorithm similar to the one used by Unity, however I had to replace it with a sampling based one because of licensing issues. You can try to experiment with the incompressibility and wall thickness settings on the RVO simulator (in particular wall thickness might be a bit too high in your scene since it seems to be relatively small scale).
Can you explain the difference between the geometric approach and the sampling?
I digged through the code a little bit (which is a real pain, tbh). If I saw it properly, the entity will never be set outside of a obstacle, but always at the border or wall of the obstacle?
What causes the entities to fall over an edge or how can they be pushed through an obstacle?