Using Jobs + Burst though ! I've been working on an ORCA-compliant local avoidance package, and wanted to share the work I've been doing up until now. git : com.nebukam.orca (the package includes a rough Setup sample that can be installed through the package manager) It support agent-to-agent as well as agent-to-obstacle avoidance, plus a include/exclude layer system similar to what Unity already does with physics. The goal was to see how well it could do, leveraging the power of Unity's Job System + Burst, as well as porting a bunch of personal code into smaller, more focused packages. It's undocumented for now (WIP ), and I plan on making a component-based facade to the core library in a separate package. Here's a terrible gif : (the red soup is actually obstacles) The performance is fairly decent (or so I believe ?), with linear cost increase : 1000 agents cost ~1.2ms, 10000 agents ~12ms (through parallelized jobs), but there's always room for improvements (especially when it comes to converting managed data to native, job-friendly format).
Hey! I was setting up to try out your ORCA implementation but I'm getting an error on a missing function from the Collections package (ContainsKey() on NativeHashMap<>). I don't use the package manager much, but I noticed there are several different previews for the same version of Collections and the other pacakges. Do you know which preview version you are using? The Collections changelog wasn't much help.
Hey ! So, just short of 2 years later -- it's fixed. UPM has evolved a lot over the years, and the package has dependencies over other custom git-hosted packages too, I updated the readme with install instruction (as well as updating the list of Unity packages dependencies)