Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Omniaffix-Dave/Unity-2D-Pathfinding-Grid-ECS-Job
ECS Burst Job System 2D Pathfinding
https://github.com/Omniaffix-Dave/Unity-2D-Pathfinding-Grid-ECS-Job
Last synced: 3 months ago
JSON representation
ECS Burst Job System 2D Pathfinding
- Host: GitHub
- URL: https://github.com/Omniaffix-Dave/Unity-2D-Pathfinding-Grid-ECS-Job
- Owner: Omniaffix-Dave
- Created: 2019-08-12T20:01:01.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-09-02T11:21:05.000Z (over 5 years ago)
- Last Synced: 2024-08-02T05:17:09.526Z (6 months ago)
- Language: C#
- Size: 171 KB
- Stars: 118
- Watchers: 7
- Forks: 24
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-opensource-unity - Unity-2D-Pathfinding-Grid-ECS-Job - ECS Burst Job System 2D Pathfinding. (Open Source Packages / DOTS)
- awesome-unity3d - Unity-2D-Pathfinding-Grid-ECS-Job - ECS Burst Job System 2D Pathfinding (Open Source Repositories / DOTS)
- awesome-unity-open-source-on-github - Pure ECS Burst Job 2D Grid A* Pathfinding - ECS Burst Job System 2D Pathfinding (ECS)
README
# Pure ECS Burst Job 2D Grid A* Pathfinding
![Image of 100 Searches](https://github.com/Omniaffix-Dave/Unity-2D-Pathfinding-Grid-ECS-Job/blob/master/ECSPathfinding.PNG)
My goal was to create an easy to use high performant example for myself, as well as other people to incorporate into their 2D projects.
[Forum discussion post](https://forum.unity.com/threads/planning-a-2d-grid-pure-ecs-job-burst-pathfinding.724211)
## Why Pure ECS?
The current project I was working on had performance issues, I resolved some by converting my targeting system to pure ECS.
After I made this change I couldn't believe how amazing the performance was, so I wanted to push things to the limit.
My previous pathfinding system was the cause for +70% of the CPU strain, so I was bottlenecked by having too many Agents or too large a Map.## Why Not use Navmesh?
Unity has not shown any love to 2D in the form of navigation, and until that changes I would rather use something that I can quickly adjust
at runtime without having to do work-arounds or hacks to make compatible.
There are other resources for doing so here: [NavMesh+](https://unitylist.com/p/hqq/Nav-Mesh-Plus)