Local avoidance with ECS and 2D

I would like to understand what is the best way to solve my issue with moving/non-moving units. Right now they all go through each other.
I use ECS approach.
Could you tell me the current local avoidance for 2d is suitable for that style of coding?
Is there any trial package to check it out? And to understand how it suits my needs.

I found very old topic where you advised not to use local avoidance for large group of units. But how many units should be there in order to consider this group as large one? 10 units or 50 units or even more?

there is an example DynamicGridObstacle - if I will use this approach for all moveable units is it good idea in terms of performance(mobile) or it is better not to do like that? Just trying to find alternative solution instead of local avoidance in case if it does not work for me.

seems there is no way to do that?


In the beta version there is an example scene in the package that does local avoidance using the unity job system (called LightweightRVO). However, it’s not super easy to take that and integrate it with ECS. It’s probably a good start though.

Not sure in what context I said that. In fact, the local avoidance system is more likely to not work well with very few agents. The local avoidance algorithm was designed to simulate large crowds, but it doesn’t always produce the most pleasing result with just a couple of agents. In the beta version (in which the local avoidance has been rewritten to use burst) it can handle 10000 agents without a problem (this is without any other overhead from other things though).

I would not recommend any kind of local avoidance based on DynamicGridObstacle. That kind of approach can work decently for some turn based games, but not for crowd simulation.