Search Unity

DOTS pathfinding(zulfa's repo updated to 0.17)

Discussion in 'Data Oriented Technology Stack' started by thelebaron, Jun 29, 2021.

  1. thelebaron

    thelebaron

    Joined:
    Jun 2, 2013
    Posts:
    675
    https://github.com/thelebaron/unity-ecs-navmesh

    More technical details on use/issues are in the readme.

    I've been wanting to update Zulfa Juniadi's excellent pathfinding project for a while now as its quite old in DOTS terms (I've attempted it several times in the past without succeeding) but I guess enough stuff finally clicked for me to be able to update it.
    It started as just an api update but I redid a number of things just as some stuff felt like it could be shoved into jobs, like the query system. Also I didn't feel comfortable with delegates so removed all of that stuff.

    Definitely not saying this is perfect by any means, there are definite caveats which make this narrow in scope and use, at least compared to builtin navigation. But maybe its useful to other people.



    With 100k entities I seem to get 25ish fps in editor,(though there's no caching at the moment and agents repath when they reach their destination). So maybe I made performance worse? Anyway this is my profiler job use for such a load.


    Unity_oUlJLCmROB.png Unity_Rj3sGTcBor.png
     
    Lukas_Kastern and Antypodish like this.
  2. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    9,127
    Hey, not too bad.
    Thx for sharing.

    Can you checkout first replay by eizenhorn91 in the first pinned message by Turbo, in his vid's comments?



    Can you confirm, which solutions did you implement, of the suggestions there?

    What is the size of the map?
     
  3. thelebaron

    thelebaron

    Joined:
    Jun 2, 2013
    Posts:
    675
    Its using the experimental unity navmesh api and unfortunately I cant say that I'm doing anything that the zulfa's original project wasn't doing in terms of features.

    Sorry, I guess I didn't make it clear enough but this is was just making an old project run with today's packages(as I totally lack the brainpower to attempt the things mentioned in the comments(or video) from scratch), while we all sit around awaiting the next round of dots packages ;)
     
    Antypodish likes this.
unityunity