Lightweight and high performant local avoidance solution that can be easily integrated.
Unity Free Source Code
Although this Unity Asset is typically a paid asset, it is currently available for free download. It’s important to note that this offer is intended strictly for educational purposes or for testing the product before making a purchase, and it should not be utilized for commercial activities
UNITY ASSET STORE LİNK: LINK
The Built-in Render Pipeline is Unity’s default render pipeline. It is a general-purpose render pipeline that has limited options for customization. The Universal Render Pipeline (URP) is a Scriptable Render Pipeline that is quick and easy to customize, and lets you create optimized graphics across a wide range of platforms. The High Definition Render Pipeline (HDRP) is a Scriptable Render Pipeline that lets you create cutting-edge, high-fidelity graphics on high-end platforms.
This package contains fast lightweight solution for local avoidance. It is developed with DOTS in mind, as result it takes advantage of Unity latest technology stack like SIMD mathematics, Jobs and Burst compiler.
Local avoidance allows agent to avoid dynamic obstacles, with accuracy, speed and not requiring pre processing. However keep in mind it does not replace global navigation (etc. A* Pathing solutions) which is designed to find most optimal path around static obstacles. Local avoidance it is intended to be used in complimentary with such a system in full scale game.
At its core it uses novel solution, which is heavily inspired by Starcraft 2 game.
Is there components that I can use?
No, the whole logic is separated into single structure and no components are used. Thus allowing easy integration in any existing Global Pathing system, regardless if it’s OOD or DOD.
For this reason this package is highly recommended for people who have coding experience as it is expected from user to integrate the solution into their own ecosystem. There are component ready demos, but they are solely there as examples.
For those, who want mono components or ecs based implementation you can check version 3.0 as Agents Navigation.
What is the API?
The whole avoidance solution is contained in a single structure called SonarAvoidance. The usage of structure is composed of mainly 4 steps: construct, add obstacles, find avoidance direction and cleanup.
- var sonar = new SonarAvoidance(…)
- sonar.InsertObstacle(…)
- sonar.FindClosestDirection(out float3 direction)
- sonar.Dispose()
DOWNLOAD LINK: LINK