💬 Here's the most useful asset that helped ship several successful Steam games! Get it here (affiliate) assetstore.unity.com/packages/tools/ai/a-pathfinding-project-pro-87744?aid=1101l96nj&pubref=rev_astar ❤️ Use the Coupon CODEMONKEY10 to get 10% OFF! 👍 The Asset Store is full of awesome stuff so in this series I will be reviewing Assets to see which ones are worthwhile, let me know your favorites! 🌍 Get my Courses unitycodemonkey.com/courses or my Steam Games 🎮 unitycodemonkey.com/gamebundle
Hi! I am still trying to finish my account activation. Every time I receive email from Code Monkey and click the link for the activation I receive this same error: Invalid validate link. What else can I do?
@@CodeMonkeyUnity hello! So... following your instructions, the last received email is from yesterday, exactly 33 hours ago. I then clicked the link and... again the same error: Invalid validade link. Well, not working yet.
Two years later and I second this! I got really happy when the page of this asset stated that Code Monkey out of all people made a video about it! It will definitely speed up my learning!
Between game design analysis, Unity tutorial shorts, and in-depth asset reviews, Code Monkey is the most unique (and easily one of the most useful!) game dev channels out there. Thanks for the great videos!
There is also a free version you can try out arongranberg.com/astar/download Not exactly sure what are the differences from the Pro version but from what I remember I initially used the free version and only bought the Pro right before I launched my game so it had enough features to help me develop the whole game.
@@CodeMonkeyUnity I think the difference is if you use the free version you're not allowed to make your game available for the public. I'm not sure but maybe
@@G4M5T3R I am not saying that everyone should use pirated version, in fact, buying things is very important for developers. I am saying that in the case of this man (and of the every man that literally cannot pay for the product -- in this case, the argentina coin is just a greeeeeat inflacioned shit and is extremely hard to use that money to buy things), it is ok. To be fair, the buying action is a moral sort of one.
I finally bought this on sale and it's quite incredible. So easy to use and it took such a HUGE burden off my project. It's probably going in all my projects!
A small correction for 12:20. There we see a negative link, so even though those two nodes are close to each other, agent will not go directly (to not walk into sharp protruding corner of the map). Overall - great video, thank you for showcasing the asset in details.
Thanks to the video, i purchased the asset. This is a really nice asset, and i really love the fact it has 2d and 3d support, while also adding dynamic environments, so i can even construct the navmesh at runtime!
Your review was convincing enough that I purchased this asset now. I have never purchased a Unity asset before, but this one is for sure worth the investment. Love your content, keep up the good work :)
"If I had try to make my own custom pathfinding with support for that many units it would have taken me ages." this is totaly merchandising. You have 3 or 4 videos where you developed an INSANE job system pathfinding with EPIC performance with MILLIONS agents! LoL
The one that I made with Game Objects takes 1 second to calculate paths th-cam.com/video/alU04hvz6L4/w-d-xo.html The one that I made with DOTS is indeed very performant th-cam.com/video/1bO1FdEThnU/w-d-xo.html But that requires a lot of trickery since the whole thing is based on DOTS and a Data Oriented Design and it has certainly not been battle-tested in all kinds of scenarios, I would not consider that production ready. If it works for you then sure go ahead and use it, I provide the code for all my videos so you can indeed take the project files and use them in your own projects. If you want to put in the work you can definitely build something this good, the whole point of buying an asset is to not have to spend all those hours building it. How long do you think it took me to make the DOTS Pathfinding demo?
@@CodeMonkeyUnity I already tried to use A* project once, but I was limited to the performance since I needed thousand of agents. That's what a mean, I am valuing your work and time put on those dots pathfinding projects, specially with regard of performance, even though there are ready to use assets in the unity store. I was your patreon supported btw and I'm glad for your contribution. I can say that you and Sebastian Lague are exceptional on doing this. When I said "merchandising" its not supposed to sound as a bad thing, I know that it may help you to keep creating new videos. Is more like that I miss those first videos in the channel where you start a project from scratch and show the development on code step by step. And talking about dots, hoping for more videos about it.
I have been using that asset for a year. And it comes to me that the free asset might not be as powerful as I need. The calculation of the path can be quite long, even for a grid of 25x25. It can take up to 0.5s when it comes to scan a grid and return a path, which is way to long, especially in a dynamic TD like mine. That is exactly how I found your tutorial for the insane speed and hope it will give better results(still need to test thought)
Awesome work. I would love to see a complex 3D world pac-man-like game that can also be played by many players which is to get maximum points from eating various pellets... with the ability to lock doors... to gain turbo speed... teleport... jump... climb... temporary ability to fly... see through walls... temporary walk through any door... all without shooting because such tend to be too frustrating for many people to do on smart devices.
There is a Free version which has almost all features arongranberg.com/astar/freevspro It's what I used in my very first game before I finished it, then in the end I purchased the Pro version
One example would be 2D, the default NavMesh doesn't support 2D, that was one of the main reasons why I needed it when I got the asset for my first Steam game 9 years ago. Although nowadays NavMesh has an extras package that I think supports 2D Another reason is simply different graph types, NavMesh only supports Navigation Meshes whereas this asset supports Grid Graphs, Point Graphs and a bunch more types. Yet another reason is performance, this asset has multithreading built in making it extremely performant even when using it with thousands of units.
Really cool asset! I have just started using pathfinding and am making a game using that! It is great to know that if I want something more advanced I can get this!
Hi! Thanks for the video. I wanted to ask how to manage agents of different sizes. For what i can see the grid and the navmesh are built according to a specific size. With the built-in Unity navmesh system the only way i found is to have a different navmesh for each possible agent size (and i think the same goes with this libray) but it doesn't seem a very good approach, especially because i plan to update them dynamically. Thanks!
Hi all! One question, would this asset help me achieve the movement system of grid based tactics such as Final Fantasy Tactics, Vandal Hearts, Ogre Tactics, etc?
this asset looks wonderful, I have been looking at it in the store for years, but unfortunately it is very expensive for me, mainly because I only keep making some personal prototypes. Thank you for showing it in more detail, it only increased the desire to have it.
I noticed that once you had everything fully setup you didn't try moving multiple units together. Does the a* solution work just as well when moving multiple units at once or does it cause issues with units overlapping?
Do you know if this would have support for agents as obstacles? Like for a turn based game, a non-active character could be an actual obstacle and carve the mesh like other obstacles do, but when it is the character's turn, I could disable the obstacle and enable their agent?
Do you think this component would allow implementing pathfinding in a multi-level procedural-generated dungeon (in a similar fashion to "Fallout Vault") made of Rooms and corridors where each room/corridor segment is a different or reusable prefab and where "stai" going up/down go through the floor (e.g. there is cut on the floor and the creature will need to clip through the floor)?
really liked this video and the format, would love to see a video like this on ODIN as I have heard its meant to be quite good and its always in bundles for unity, so would be good to see what you think :D
It's funny you should say that! The next video on this series which I've already recorded is exactly on the Odin Inspector! I had heard great things about it but never actually used it, so I got it and I'm very pleased with how it works, it can definitely help you massively increase your productivity. Stay tuned for the video!
How might you put this into the turn-based game you created for your course? There we made a pathfinder from scratch. Would it require a lot of work to substitute this in instead?
Not really since that game is Grid based and this asset has a Grid map setting. So all you need to do is just make sure you set up the Grid on this asset to be exactly the same as the grid in the logic.
It is a lot more adaptable, Unitys NavMesh is essentially just one of the many types of graphs this asset can build. Also NavMesh does not support 2D which is a pretty big limitation, and I believe it's not multithreaded which will be an issue if you're working on a game with a decent enough scale like I was with Survivor Squad
I also use this asset, best thing is that's modular so you can take only the bits you need, like only computing paths but not the moving along them part. My units move by (2D) physics, so I made the asset only compute the paths for me, I take the work of actually going there applying forces.
Hey! I have had my eye on that asset for a while now; in fact, I saw that at some point Aaron had made a test for this working on spherical, or round-shaped, geometry. That was pretty awesome, I don't know why that branch of the project wasn't kept up -or, if it was, why it isn't in the showcase -because it's probably the most awesome thing to show.
It's not included in one of the demos so maybe it was a test and didn't end up in the final version? Or maybe it's coming on a new version soon, I believe he is working on converting everything to DOTS
@@CodeMonkeyUnity NICE! Hopefully that's the case; I used the free version to run some tests, and followed an old forum thread from Aaron where he explained how he did it; I tried it on a spherical mesh, and it ALMOST WORKS -the pathfinding works all right on the entire sphere, but the navAgent can only traverse the upper half (I was guessing it was part of the navigation heuristic the agent uses; I went into some some of the classes and, effectively, the class that generates the navigation nodes has a mapping on the XZ plane that kills the omnidirectional navigation. I thought a little about changing it, but I didn't have the time to check how much would break if I tamptered with that (e.g. maybe the dynamic obstacles need it to work), so I left those tests incomplete). But you're right; let's wait and see. Maybe with DOTS the XZ heuristic becomes superfluous, and the spherical mapping can be brought back (at least more easily).
Hi Code Monkey, I'm looking for a tool that would let me control the player like in the classic PS2 2.5D Klonoa game. It's mentioned in the video that the point graph would let you restrict the player to just the path. Can that be used with a controller script where left/right go back/forward on the path? I just started learning Unity and have already spent a bit on assets. This seems a little expensive, and i would definitely buy it if it allows me to implement that capability. I would use that feature along with a spline camera path to follow the player. I have been looking into the new Cinemachine 3.0 dolly track. Basically I want to do a Klonoa style game. What tools would you recommend I use or just write the scripts myself? It's the old question time vs money.. Anyway, I enjoy your videos. Thanks and sorry for the long comment/question.
Does this have a way to perform a function upon reaching destination? Currently using NavMesh and having a lot of trouble with that and a few other issues. If this can solve that problem simply and efficiently I'd seriously consider switching the project over. Nice video btw. Assets can really help speed up production, but it's hard to commit to such an expensive asset without a deep dive review like this!
Hmm I can't remember off the top of my head, I know I did have an event like that when I was working with this asset on my own games but I don't remember if it's built-in or I made it myself. You can check the online documentation and see what events the AIPath script has.
How is this any different from unity's built in nav mesh system? I have made the exact same functionallity with nav mesh agents, including runtime obstacle avoidance.
I was kind of looking for a comment like this. I bet I'm missing something but it looks very much like the build in navmesh agents. The only problem I find with the built in tool is that you have to rebake the static field if the environment is changing but this (from the looks of it) has the same problem
Hi Myfriend Im using this to do my own Multiplay RTS, and How to use it to sync the move collide in different cilent? is this using Unity's Collider or physics?
Unity has its Navmesh AI and Navmesh Agent. What are it's limitation to force use an asset instead Unity's Navmesh? I know it doesn't work on 2D game, any other limitation?
NavMesh is great as a starting point, this one is much more adaptable with many types of graphs you can create and many ways to interact with how the paths are laid out and also much much more performant.
I think this series could really be useful on the items in that huge end of year bundle sale the Asset Store had recently, since so many people bought it, but like me, are having trouble actually using some of them properly
Yup that's exactly my goal! That's why I very deliberately made the format of first going through the official examples then doing a quick getting started guide that works as a tutorial to start using the asset.
I am working on a 360 virtual tour project at my campus location. Can I use this method for my project so that I can determine the fastest route to a location on campus? The problem is that in my project, location changes are made by changing scenes. Can the scenes be made into a graph to find the fastest route
I'm pretty sure NavMesh is not multithreaded so this one is massively better in terms of performance, it can easily handle 200 units. Oh and that other account is a scam bot, dont interact with them in any private messages
I'm trying to find out how to update the grid when a building gets destroyed. The grid still show the building is there after its destroyed. Do I just scan the hole grid. 13:44 has sum code i can try and manipulate I figured it out
Hi man, great content! I haven't used this asset but I've used the native Agents Navigation from Unity but I've always faced the problem where the units keeps pushing each other while they are walking and if they are attacking the same target they keep moving while attacking. Do you know a way to fix that?
I just have one question, the scripts can be used on the server side of a dedicated game server? To have the navmesh vertices triangles for example, the colliders of everything in the scenes (all of these generated to a txt file for example) and having that AI agent script and seekers on the server side too?
hello! I am struggling to get my prefabs with animations working with any pathfinding. I like this asset and have being trying it out but curious , I see your characters moving nicely with the asset, do you have a video showing how you animated these characters?
How is the collision avoidance with other units with the A* Pathfinding Project? I'm currently using Unity's NavMesh to create a squad based RTS, but it's difficult to get the units to not behave oddly in groups, e.g. walking through each other, slowing down or changing speed when passing by obstacles and other units.
Aron (the A* dev) has been working on RTS style implementations and has an example scene. And the avoidance imho is better then unity's. There are videos on his site
Really good - I was was wondering whether to swap to this asset for my RTS - just one suggestion - most RTS are done in 3d but alot of your tutorials use 2d - e.g. the RTS select and move used 2d physics which can be difficult to convert to 3d - the 'overlaparea' isn't in 3d physics - similarly with the A* - really like your stuff though and the quick questions you've been doing recently ...
You can usually convert most of the code with relative easy, for example swap OverlapArea for OverlapBox, swap the 2D method for getting mouse position with a Raycast, etc th-cam.com/video/3zxTigjJr24/w-d-xo.html I am currently working on a 3D mini-game which will be an RTS so that should be fun!
Feel you should have covered unity's built in NavMesh Package before recommending a paid asset.. Unity Pathfinding vs A* Pathfinding Project Pro is not prone to latter, and pretty much similar of usage and level of ease.
There's already tons of videos on Unity's NavMesh, I'm not sure I can add anything to that. On the other hand there are no videos covering what assets are worth it and what they do, that's what I'm trying to solve with this format.
Just bought the package using your link and code... :) I am wondering however if its mentioned anywhere which is the "BEST" graph type to use... I have been using the "free" version of astar for years... but wanted the multi-core optimisation before launching on steam in a few months. However, I am wondering what "others" optimisations I could be doing... I also use funnel, but saw there are many others and unsure what they do or if any would be good to use... also wondering if grid "mode" is the best or if any other could be an improvement... Thanks for the nice video demo!
It's going to depend on the specifics of your game. For me when I used it in Battle Royale Tycoon I used a Grid Graph since the game is in 2D and that worked great with hundreds of units.
Love your channel man. I am currently using an AI asset called Emerald AI. I'm just wondering if A* Pathfinding Project could be used with Emerald AI 3 or is it a case of just picking one? Many thanks
In the demo video in the asset store it shows, that a closed door completely blocks paths. Is there a way to say that it just makes the path longer? I'm asking because I want to use it for sound propagation inside of rooms.
Yup you can add modifiers, I don't remember what exactly they're called but I know there's a way you can add a penalty to a certain area, I believe there's a demo showing a scene with some water that has a slight penalty relative to the normal ground
It is a lot more adaptable, Unitys NavMesh is essentially just one of the many types of graphs this asset can build. You can make Mesh paths, Node paths, Point paths, etc. Also NavMesh does not support 2D which is a pretty big limitation, and I believe it's not multithreaded which will be an issue if you're working on a game with a decent enough scale like I was with Survivor Squad. This uses very well made multithreading which makes it almost free pathfinding.
That's an insane amount of units but yes this asset is probably the most performance pathfinding solution At that scale you're most likely going to be limited by rendering/AI-logic rather than pathfinding
How does this compare with the dots pathfinding you created for 2d gridbased games? Is it better to build a lightweight version like yours that just does 2d or to implement theirs, do they support dots?
They are currently rewriting the whole codebase to work with DOTS. But the "normal" version in the asset is already extremely optimized with very well written multithreaded code which makes it insanely fast. The DOTS Pathfinding demo I made was exactly that, a demo, it's insanely fast but it lacks all the features this has.
Is this support navmesh baking on any kind of mesh ( eg.: i have multiple big cylinder which are connected as a tree , can I bake navmesh on the cylinders and generate path for AI ) ? even vertically
NavMesh is great as a starting point, this one is much more adaptable with many types of graphs you can create and many ways to interact with how the paths are laid out and also much much more performant.
Hello, I would love to buy this resource, but first I wanted to know if it is useful for a 2D race game, it is for the AI that its cars follow a path that I set for the track, it is possible, and if it is possible, how do I do it, I am reading your documentation and I can't find anything about this
I'm not the developer of this asset so I can't comment on the documentation, you can probably contact the developer through and email on that documentation. This tool helps you find paths from A to B, those paths can then be followed by whatever you want, could be a humanoid unit, could be a spaceship, could be a car, etc
Does this assets multithreading use the new Unity dots job system, or is it old, standard multithreading? If so, would there be any major performance difference between them?
How can I get a List or Array contains all the tiles(nodes?) that has been calculated in order to apply my own movement to them? Edit: Found it in the docs. It's Path path.vectorPath
What's the advantage of A-star over Unity's built in pathfinding i.e. the NavMeshAgent? Note that the NavMeshAgent can be made to work with 2D in the XY plane by downloading the NavMeshPlus project.
I was always looking for a pathfinding solution that can switch to target the player. I solved it by using an A* algorithm and switch to a field of view system and then just move the transform to the target. That includes a lot of issues tho - so: Does this support asset support something like "dynamic chasing" (I hope you get what I mean). Cheers
NavMesh is great as a starting point, this one is much more adaptable with many types of graphs you can create and many ways to interact with how the paths are laid out and also much much more performant.
Yes, this package is fully multithreaded which makes it insanely fast. In my game Hyper Knights I was handling 500+ units and the Pathfinding was still working very fast.
4:19 You lowered the size and hit 'scan' but when it recalculated there was a bunch of blue outside of the new pathfinder area boundaries? Any idea why that happened? Thank you for the video this looks really cool.
It happened because of how the path mesh generation works, it looks at the object it hits, like the floor, and splits it into a bunch of nav meshes. Setting the volume guarantees the area inside the volume is tested but if the object itself is bigger than the volume area the calculated navmesh might go outside the volume. I'm guessing the reason they don't force the created nav meshes to be only inside the volume is because it's unnecessary, there' no harm in letting the nav mesh go past the volume, all you care about is that the entire area inside the volume is tested which it is.
That would be some basic enemy AI, I covered a basic state machine here unitycodemonkey.com/video.php?v=db0KWYaWfeM unitycodemonkey.com/video.php?v=qZC1VYWnHZ8
Thanks, pretty interesting video! What about ML-Agents? don't they override pathfinding? I guess for simple behaviors (simple follower/go to a direction agents) this is perfect, but what if you'd like to add some intelligence to the "enemy"? Would there be a possibility to combine them?
I tried this years ago, but one thing i couldn't get working was multiple enemies with pathfinding passing each other. So if enemies get near or collided with each other they would just keep rubbing and bumping against each other without their pathfinding changing. Hope you understand what im saying.
@@CodeMonkeyUnity thats good to know, but how is it though? Does it change their pathfinding, or just makes them avoid each other. So if they were all going to the same spot, would they be smashing against each other trying to avoid, or would their pathfinding say "You can't go there"
NullReferenceException: Object reference not set to an instance of an object PlayerRTS.MoveTo (UnityEngine.Vector3 targetPosition) (at Assets/Scripts/Player/PlayerRTS.cs:24) RTS_Movement.Update () (at Assets/Scripts/Game/RTS_Movement.cs:59) Throwing is exception.. I didn' t change anything.....
I have this asset and I want to make the enemy follow the player. The problem I am running into is the enemy will go to the player 0th position where the player starts but then wont update to follow. The Enemy has the AI Destination Setter and I have dragged the Player prefab into the Transform Target slot in the inspector. What did I do wrong with this setup? How can I get it to always follow me? EDIT: This is a 2D top down game, I have added the A* component and attached the seeker, and AI Path scripts to the enemy. If I put the destination setter to an empty transform that I move around in game it works, but when I try to put my player prefab in the Target Transform, the enemy only goes to the player 0th position. Any ideas?
@@CodeMonkeyUnity Yes I have scanned and I can see the path. Here is what I did to get it working. I have a game object I have called "EssentialsLoader" that I drag into every scene. In that I put things like my Player prefab, Game Manager, UI Overlay, Audio Manager, Game Assets and other things that every scene will need. The code for this checks the scene and prevents duplicates from being instantiated in each scene. If it finds duplicates it removes them. My Player prefab was in the EssentialsLoader. So I was dragging it in from the Project window, and not the scene window since it was not in the scene window. By taking the Player prefab out of the EssentialsLoader and putting it into the scene view, the AI Destination Setter works perfectly now. The reason I did it this way was I know in the future I will be swapping out my player prefab, and having a reference to the player prefab in the "EssentialsLoader " I would only need to make that one change. Not in every single scene. Is there a way around this?
@@CodeMonkeyUnity And what if I want to use a 2d bool[,] array where obstacles are true and walkables are false. Would I be able to use that instead? :D
💬 Here's the most useful asset that helped ship several successful Steam games! Get it here (affiliate) assetstore.unity.com/packages/tools/ai/a-pathfinding-project-pro-87744?aid=1101l96nj&pubref=rev_astar
❤️ Use the Coupon CODEMONKEY10 to get 10% OFF!
👍 The Asset Store is full of awesome stuff so in this series I will be reviewing Assets to see which ones are worthwhile, let me know your favorites!
🌍 Get my Courses unitycodemonkey.com/courses or my Steam Games 🎮 unitycodemonkey.com/gamebundle
Hi! I am still trying to finish my account activation. Every time I receive email from Code Monkey and click the link for the activation I receive this same error: Invalid validate link. What else can I do?
@@erichrcl Don't request more emails, just wait a bit and click on the last one you receive, check your spam folder
@@CodeMonkeyUnity hello! So... following your instructions, the last received email is from yesterday, exactly 33 hours ago. I then clicked the link and... again the same error: Invalid validade link. Well, not working yet.
@@CodeMonkeyUnity Hello! so, still waiting for the activation. What do I need to do? I did what you asked, as I wrote before...
@@erichrcl Use the contact form to let me know your email and I'll look into it
You should definitely do more of this content, it's sometimes hard to know if an asset is really right for you without an in-depth review like this.
Yup that's exactly my goal with this format, to go through lots of assets on the store and see which ones are worth it.
Two years later and I second this! I got really happy when the page of this asset stated that Code Monkey out of all people made a video about it! It will definitely speed up my learning!
Between game design analysis, Unity tutorial shorts, and in-depth asset reviews, Code Monkey is the most unique (and easily one of the most useful!) game dev channels out there. Thanks for the great videos!
Thanks! I'm glad you like them!
Wow 100 bucks is waaaay too much for me in argentina. The asset looks amazing
There is also a free version you can try out arongranberg.com/astar/download
Not exactly sure what are the differences from the Pro version but from what I remember I initially used the free version and only bought the Pro right before I launched my game so it had enough features to help me develop the whole game.
@@CodeMonkeyUnity I think the difference is if you use the free version you're not allowed to make your game available for the public.
I'm not sure but maybe
There are pirate versions of the asset on internet too, if you search carefully.
@@diadetediotedio6918 If you intend to ship you need to buy it. If you don't, then just get the free version. Devs need to eat too.
@@G4M5T3R
I am not saying that everyone should use pirated version, in fact, buying things is very important for developers. I am saying that in the case of this man (and of the every man that literally cannot pay for the product -- in this case, the argentina coin is just a greeeeeat inflacioned shit and is extremely hard to use that money to buy things), it is ok. To be fair, the buying action is a moral sort of one.
I finally bought this on sale and it's quite incredible. So easy to use and it took such a HUGE burden off my project. It's probably going in all my projects!
a very simple and nice asset + a very simple and long tutorial = best understading,
thanks man for very good content, got a lot of help from you.
I'm glad the videos have helped you! Thanks!
@@CodeMonkeyUnity i don't have some chats with you on instagram or discord, i want to learn somethings from you.
A small correction for 12:20. There we see a negative link, so even though those two nodes are close to each other, agent will not go directly (to not walk into sharp protruding corner of the map).
Overall - great video, thank you for showcasing the asset in details.
You're the best channel that does unity tutorials!!
Thanks!
Thanks to the video, i purchased the asset. This is a really nice asset, and i really love the fact it has 2d and 3d support, while also adding dynamic environments, so i can even construct the navmesh at runtime!
Your review was convincing enough that I purchased this asset now. I have never purchased a Unity asset before, but this one is for sure worth the investment. Love your content, keep up the good work :)
I hope you put it to good use! It has certainly helped me a lot
This is extremely helpful! This asset does not have enough video tutorials, and it is not trivial to learn.
This asset might be on sale in the Asset store soon, and there is a free limited version of it on the creator's personal website.
Wow, it's an awesome pathfinding :0
The developers behind it are doing a very awesome job!!
Ty for the coupon, definitely will be using it! This asset is almost never on sale 😄
"If I had try to make my own custom pathfinding with support for that many units it would have taken me ages." this is totaly merchandising. You have 3 or 4 videos where you developed an INSANE job system pathfinding with EPIC performance with MILLIONS agents! LoL
The one that I made with Game Objects takes 1 second to calculate paths th-cam.com/video/alU04hvz6L4/w-d-xo.html
The one that I made with DOTS is indeed very performant th-cam.com/video/1bO1FdEThnU/w-d-xo.html
But that requires a lot of trickery since the whole thing is based on DOTS and a Data Oriented Design and it has certainly not been battle-tested in all kinds of scenarios, I would not consider that production ready.
If it works for you then sure go ahead and use it, I provide the code for all my videos so you can indeed take the project files and use them in your own projects.
If you want to put in the work you can definitely build something this good, the whole point of buying an asset is to not have to spend all those hours building it.
How long do you think it took me to make the DOTS Pathfinding demo?
@@CodeMonkeyUnity I already tried to use A* project once, but I was limited to the performance since I needed thousand of agents. That's what a mean, I am valuing your work and time put on those dots pathfinding projects, specially with regard of performance, even though there are ready to use assets in the unity store. I was your patreon supported btw and I'm glad for your contribution. I can say that you and Sebastian Lague are exceptional on doing this.
When I said "merchandising" its not supposed to sound as a bad thing, I know that it may help you to keep creating new videos. Is more like that I miss those first videos in the channel where you start a project from scratch and show the development on code step by step. And talking about dots, hoping for more videos about it.
I have been using that asset for a year. And it comes to me that the free asset might not be as powerful as I need. The calculation of the path can be quite long, even for a grid of 25x25.
It can take up to 0.5s when it comes to scan a grid and return a path, which is way to long, especially in a dynamic TD like mine.
That is exactly how I found your tutorial for the insane speed and hope it will give better results(still need to test thought)
Awesome work. I would love to see a complex 3D world pac-man-like game that can also be played by many players which is to get maximum points from eating various pellets... with the ability to lock doors... to gain turbo speed... teleport... jump... climb... temporary ability to fly... see through walls... temporary walk through any door... all without shooting because such tend to be too frustrating for many people to do on smart devices.
It's ridiculously expensive for a solo project, so I'll have to do the old fashioned way.
I'm not saying it isn't worth it, but that I don't even have the money.
There is a Free version which has almost all features arongranberg.com/astar/freevspro
It's what I used in my very first game before I finished it, then in the end I purchased the Pro version
@@CodeMonkeyUnity Oh, thank you!
This looks really good, but what advantage does it offer over the free, built-in NavMesh features in Unity?
One example would be 2D, the default NavMesh doesn't support 2D, that was one of the main reasons why I needed it when I got the asset for my first Steam game 9 years ago. Although nowadays NavMesh has an extras package that I think supports 2D
Another reason is simply different graph types, NavMesh only supports Navigation Meshes whereas this asset supports Grid Graphs, Point Graphs and a bunch more types.
Yet another reason is performance, this asset has multithreading built in making it extremely performant even when using it with thousands of units.
This video is awesome! Thank you so much. I bought with your link and used the coupon.
Thanks! I hope it helps you a lot in making your game!
Really cool asset! I have just started using pathfinding and am making a game using that! It is great to know that if I want something more advanced I can get this!
This came into my life at the perfect time. As always Code Monkey delivers!
This is what I call a super review! Thank you very much!!
Hi! Thanks for the video. I wanted to ask how to manage agents of different sizes. For what i can see the grid and the navmesh are built according to a specific size. With the built-in Unity navmesh system the only way i found is to have a different navmesh for each possible agent size (and i think the same goes with this libray) but it doesn't seem a very good approach, especially because i plan to update them dynamically. Thanks!
Hi all! One question, would this asset help me achieve the movement system of grid based tactics such as Final Fantasy Tactics, Vandal Hearts, Ogre Tactics, etc?
This is a great asset with a great dev!
this asset looks wonderful, I have been looking at it in the store for years, but unfortunately it is very expensive for me, mainly because I only keep making some personal prototypes. Thank you for showing it in more detail, it only increased the desire to have it.
There is a free version you can try out, I think it's still pretty feature-rich
@@CodeMonkeyUnity wait there is? where is it? thanks
@@anticstudios It's on their website arongranberg.com/astar/download
I noticed that once you had everything fully setup you didn't try moving multiple units together. Does the a* solution work just as well when moving multiple units at once or does it cause issues with units overlapping?
Amazing video. Your content is always improving. Thank you so much.
Some other types of assets I'd love to see a review on: An FPS Combat system (controller, weapons etc.), Input Manager, UI Creator/Handler
There are a bunch of full FPS controllers that I definitely would like to check out, some are extremely detailed!
Do you know if this would have support for agents as obstacles? Like for a turn based game, a non-active character could be an actual obstacle and carve the mesh like other obstacles do, but when it is the character's turn, I could disable the obstacle and enable their agent?
This asset is great, and so are you!
Wow, cool! You've just saved weeks of development for me :D
Do you think this component would allow implementing pathfinding in a multi-level procedural-generated dungeon (in a similar fashion to "Fallout Vault") made of Rooms and corridors where each room/corridor segment is a different or reusable prefab and where "stai" going up/down go through the floor (e.g. there is cut on the floor and the creature will need to clip through the floor)?
really liked this video and the format, would love to see a video like this on ODIN as I have heard its meant to be quite good and its always in bundles for unity, so would be good to see what you think :D
It's funny you should say that! The next video on this series which I've already recorded is exactly on the Odin Inspector!
I had heard great things about it but never actually used it, so I got it and I'm very pleased with how it works, it can definitely help you massively increase your productivity. Stay tuned for the video!
@@CodeMonkeyUnity very nice, I look forward to the next video :)
How might you put this into the turn-based game you created for your course? There we made a pathfinder from scratch. Would it require a lot of work to substitute this in instead?
Not really since that game is Grid based and this asset has a Grid map setting. So all you need to do is just make sure you set up the Grid on this asset to be exactly the same as the grid in the logic.
How it compares to the Pathfinding from the Unity core?
It is a lot more adaptable, Unitys NavMesh is essentially just one of the many types of graphs this asset can build.
Also NavMesh does not support 2D which is a pretty big limitation, and I believe it's not multithreaded which will be an issue if you're working on a game with a decent enough scale like I was with Survivor Squad
@@CodeMonkeyUnity there is a repo on github for a 2d version
I also use this asset, best thing is that's modular so you can take only the bits you need, like only computing paths but not the moving along them part. My units move by (2D) physics, so I made the asset only compute the paths for me, I take the work of actually going there applying forces.
Yup that's exactly what I ended up doing in Survivor Squad, used this asset to calculate the path then I used my own scripts to move along it.
Man, how to make the obj avoid the walkable path edges? I want a car to move to the target, but it only moves on the edges of the street.
Hey! I have had my eye on that asset for a while now; in fact, I saw that at some point Aaron had made a test for this working on spherical, or round-shaped, geometry. That was pretty awesome, I don't know why that branch of the project wasn't kept up -or, if it was, why it isn't in the showcase -because it's probably the most awesome thing to show.
It's not included in one of the demos so maybe it was a test and didn't end up in the final version? Or maybe it's coming on a new version soon, I believe he is working on converting everything to DOTS
@@CodeMonkeyUnity NICE! Hopefully that's the case; I used the free version to run some tests, and followed an old forum thread from Aaron where he explained how he did it; I tried it on a spherical mesh, and it ALMOST WORKS -the pathfinding works all right on the entire sphere, but the navAgent can only traverse the upper half (I was guessing it was part of the navigation heuristic the agent uses; I went into some some of the classes and, effectively, the class that generates the navigation nodes has a mapping on the XZ plane that kills the omnidirectional navigation. I thought a little about changing it, but I didn't have the time to check how much would break if I tamptered with that (e.g. maybe the dynamic obstacles need it to work), so I left those tests incomplete).
But you're right; let's wait and see. Maybe with DOTS the XZ heuristic becomes superfluous, and the spherical mapping can be brought back (at least more easily).
Awesome content! Loved the concept.
(*Link is broken in description) Good vid, Monkey, thank you.
Is it? Which one? The Asset store link? Seems to be fine to me, maybe the asset store went down temporarily when you clicked on it
Hi Code Monkey,
I'm looking for a tool that would let me control the player like in the classic PS2 2.5D Klonoa game. It's mentioned in the video that the point graph would let you restrict the player to just the path. Can that be used with a controller script where left/right go back/forward on the path? I just started learning Unity and have already spent a bit on assets. This seems a little expensive, and i would definitely buy it if it allows me to implement that capability. I would use that feature along with a spline camera path to follow the player. I have been looking into the new Cinemachine 3.0 dolly track. Basically I want to do a Klonoa style game. What tools would you recommend I use or just write the scripts myself? It's the old question time vs money.. Anyway, I enjoy your videos. Thanks and sorry for the long comment/question.
Does this have a way to perform a function upon reaching destination? Currently using NavMesh and having a lot of trouble with that and a few other issues. If this can solve that problem simply and efficiently I'd seriously consider switching the project over.
Nice video btw. Assets can really help speed up production, but it's hard to commit to such an expensive asset without a deep dive review like this!
Hmm I can't remember off the top of my head, I know I did have an event like that when I was working with this asset on my own games but I don't remember if it's built-in or I made it myself. You can check the online documentation and see what events the AIPath script has.
@@CodeMonkeyUnity So there is a public method called OnTargetReached() that seems to be exactly what I need. Definitely considering this now.
Thanks for bringing the useful assests for us 🔥☺️
How is this any different from unity's built in nav mesh system? I have made the exact same functionallity with nav mesh agents, including runtime obstacle avoidance.
I was kind of looking for a comment like this. I bet I'm missing something but it looks very much like the build in navmesh agents. The only problem I find with the built in tool is that you have to rebake the static field if the environment is changing but this (from the looks of it) has the same problem
Hi Myfriend Im using this to do my own Multiplay RTS, and How to use it to sync the move collide in different cilent? is this using Unity's Collider or physics?
Unity has its Navmesh AI and Navmesh Agent. What are it's limitation to force use an asset instead Unity's Navmesh? I know it doesn't work on 2D game, any other limitation?
NavMesh is great as a starting point, this one is much more adaptable with many types of graphs you can create and many ways to interact with how the paths are laid out and also much much more performant.
I think this series could really be useful on the items in that huge end of year bundle sale the Asset Store had recently, since so many people bought it, but like me, are having trouble actually using some of them properly
Yup that's exactly my goal! That's why I very deliberately made the format of first going through the official examples then doing a quick getting started guide that works as a tutorial to start using the asset.
Does this work with flying npcs in 3D. I do not find much info of AI NavMesh for flying npcs, not on youtube, Unity Learn, or whatever
I am working on a 360 virtual tour project at my campus location. Can I use this method for my project so that I can determine the fastest route to a location on campus? The problem is that in my project, location changes are made by changing scenes. Can the scenes be made into a graph to find the fastest route
Is the performance better or worse than default navmesh agent? Would I get better performance with 200 moving units?
@@janetwilliams6135 huh
@@janetwilliams6135the fuck. I don't want to trade
@@janetwilliams6135 Bro I'm here for unity shit, not trading
I'm pretty sure NavMesh is not multithreaded so this one is massively better in terms of performance, it can easily handle 200 units.
Oh and that other account is a scam bot, dont interact with them in any private messages
I'm trying to find out how to update the grid when a building gets destroyed. The grid still show the building is there after its destroyed. Do I just scan the hole grid.
13:44 has sum code i can try and manipulate
I figured it out
Hi man, great content! I haven't used this asset but I've used the native Agents Navigation from Unity but I've always faced the problem where the units keeps pushing each other while they are walking and if they are attacking the same target they keep moving while attacking. Do you know a way to fix that?
3:15 is this pathfinding faster than your unity dots pathfinding? Also, why don’t you use vector-based crowd management?
I just have one question, the scripts can be used on the server side of a dedicated game server? To have the navmesh vertices triangles for example, the colliders of everything in the scenes (all of these generated to a txt file for example) and having that AI agent script and seekers on the server side too?
Man I hope this goes to humble bundle at some point so I can grab this with Odin
Why you prefer A* over built-in navmesh?
Great Videos! Keep up the good job.
hello! I am struggling to get my prefabs with animations working with any pathfinding. I like this asset and have being trying it out but curious , I see your characters moving nicely with the asset, do you have a video showing how you animated these characters?
How is the collision avoidance with other units with the A* Pathfinding Project? I'm currently using Unity's NavMesh to create a squad based RTS, but it's difficult to get the units to not behave oddly in groups, e.g. walking through each other, slowing down or changing speed when passing by obstacles and other units.
Aron (the A* dev) has been working on RTS style implementations and has an example scene. And the avoidance imho is better then unity's. There are videos on his site
The asset does include a very impressive local avoidance demo, I think you can see it in action in the official trailer
Really good - I was was wondering whether to swap to this asset for my RTS - just one suggestion - most RTS are done in 3d but alot of your tutorials use 2d - e.g. the RTS select and move used 2d physics which can be difficult to convert to 3d - the 'overlaparea' isn't in 3d physics - similarly with the A* - really like your stuff though and the quick questions you've been doing recently ...
You can usually convert most of the code with relative easy, for example swap OverlapArea for OverlapBox, swap the 2D method for getting mouse position with a Raycast, etc th-cam.com/video/3zxTigjJr24/w-d-xo.html
I am currently working on a 3D mini-game which will be an RTS so that should be fun!
@@CodeMonkeyUnity thanks for the link - and yes will be great!
Feel you should have covered unity's built in NavMesh Package before recommending a paid asset..
Unity Pathfinding vs A* Pathfinding Project Pro is not prone to latter, and pretty much similar of usage and level of ease.
There's already tons of videos on Unity's NavMesh, I'm not sure I can add anything to that.
On the other hand there are no videos covering what assets are worth it and what they do, that's what I'm trying to solve with this format.
Just bought the package using your link and code... :)
I am wondering however if its mentioned anywhere which is the "BEST" graph type to use... I have been using the "free" version of astar for years... but wanted the multi-core optimisation before launching on steam in a few months. However, I am wondering what "others" optimisations I could be doing... I also use funnel, but saw there are many others and unsure what they do or if any would be good to use... also wondering if grid "mode" is the best or if any other could be an improvement... Thanks for the nice video demo!
It's going to depend on the specifics of your game. For me when I used it in Battle Royale Tycoon I used a Grid Graph since the game is in 2D and that worked great with hundreds of units.
@@CodeMonkeyUnity thx for taking the time to reply :) guess i'll keep my grid graph that was working fine so far!
Love your channel man. I am currently using an AI asset called Emerald AI. I'm just wondering if A* Pathfinding Project could be used with Emerald AI 3 or is it a case of just picking one? Many thanks
In the demo video in the asset store it shows, that a closed door completely blocks paths. Is there a way to say that it just makes the path longer?
I'm asking because I want to use it for sound propagation inside of rooms.
Yup you can add modifiers, I don't remember what exactly they're called but I know there's a way you can add a penalty to a certain area, I believe there's a demo showing a scene with some water that has a slight penalty relative to the normal ground
does this support vertically movement out of the box? Like jumping?
I would love to see this for 3D... Currently stuck trying to get it to work with multiple floors.
One of the demos is indeed in 3D with multiple floors
there are a lot of topic out there, I must / shall learn ....
cool stuff, anyway
Game dev/Programming is a never ending learning journey! That's what's awesome about it, always more to learn!
For point graphs, my enemy characters keep running into each other and join. How to solve this man?
How does dots pathfinding compare to this? I know A* pathfinding project is multithread also so hence my question
It's kind of hard to be more performant than this one so I would assume no difference or the slightest possible difference
Why use this over the built in navmesh?
Is it more efficient? More support for complex pathfinding?
It is a lot more adaptable, Unitys NavMesh is essentially just one of the many types of graphs this asset can build. You can make Mesh paths, Node paths, Point paths, etc.
Also NavMesh does not support 2D which is a pretty big limitation, and I believe it's not multithreaded which will be an issue if you're working on a game with a decent enough scale like I was with Survivor Squad. This uses very well made multithreading which makes it almost free pathfinding.
Is this one is performant ?
( can i use it if i nees to handle for example 2000 units ? )
That's an insane amount of units but yes this asset is probably the most performance pathfinding solution
At that scale you're most likely going to be limited by rendering/AI-logic rather than pathfinding
@@CodeMonkeyUnity i just want to make rts, with burst and jobs, so im trying to find the most efficenct way to find a path for units
Review of Gaia and other tools by Procedural Worlds (publisher) maybe?
They are pretty expensive but I hear that they are very high quality!
How does this compare with the dots pathfinding you created for 2d gridbased games? Is it better to build a lightweight version like yours that just does 2d or to implement theirs, do they support dots?
They are currently rewriting the whole codebase to work with DOTS. But the "normal" version in the asset is already extremely optimized with very well written multithreaded code which makes it insanely fast.
The DOTS Pathfinding demo I made was exactly that, a demo, it's insanely fast but it lacks all the features this has.
But the normal version will force us to use gameobjects right? instead of entities?
Is this support navmesh baking on any kind of mesh ( eg.: i have multiple big cylinder which are connected as a tree , can I bake navmesh on the cylinders and generate path for AI ) ? even vertically
Evil Genius 2 is out next week. Would you consider doing a quick build similar to the factory builder you did recently?
I definitely want to play that one! I'll probably end up making a video on it, possibly remaking some systems.
How does this one perform compared to Unity's Navmesh system?
NavMesh is great as a starting point, this one is much more adaptable with many types of graphs you can create and many ways to interact with how the paths are laid out and also much much more performant.
How do I put "dynamic" tags on moving objects the same way I put the dynamic script.
Hello, I would love to buy this resource, but first I wanted to know if it is useful for a 2D race game, it is for the AI that its cars follow a path that I set for the track, it is possible, and if it is possible, how do I do it, I am reading your documentation and I can't find anything about this
I'm not the developer of this asset so I can't comment on the documentation, you can probably contact the developer through and email on that documentation.
This tool helps you find paths from A to B, those paths can then be followed by whatever you want, could be a humanoid unit, could be a spaceship, could be a car, etc
How about multiple waypoints to targets
Does this assets multithreading use the new Unity dots job system, or is it old, standard multithreading? If so, would there be any major performance difference between them?
This uses some very well done C# multithreading, does not require the Job System, it is insanely efficient.
how can I integrate it to my tank?
How can I get a List or Array contains all the tiles(nodes?) that has been calculated in order to apply my own movement to them?
Edit: Found it in the docs.
It's Path path.vectorPath
+
What's the advantage of A-star over Unity's built in pathfinding i.e. the NavMeshAgent? Note that the NavMeshAgent can be made to work with 2D in the XY plane by downloading the NavMeshPlus project.
But it's not for platformers.
@@DayzeXzxR Can you elaborate? What is it that platformers need to do, that A-star does better than NavMeshPlus?
@@flem1431 Can you elaborate? What is it that platformers need to do, that A-star does better than NavMeshPlus?
I was always looking for a pathfinding solution that can switch to target the player. I solved it by using an A* algorithm and switch to a field of view system and then just move the transform to the target. That includes a lot of issues tho - so: Does this support asset support something like "dynamic chasing" (I hope you get what I mean). Cheers
@@janetwilliams6135 ? 😅
That just means recalculating the path so yes it does support it, if you take advantage of multithreading then it's pretty much free performance.
@@CodeMonkeyUnity Thx a lot for the answer
Very useful video. Thanks =)
How is it better comparing to Navmesh system :?
NavMesh is great as a starting point, this one is much more adaptable with many types of graphs you can create and many ways to interact with how the paths are laid out and also much much more performant.
Can you make multiplayer tutorial in games
, continue ♥
Can it be used for hordes, like hundreds of npc-s?
Yes, this package is fully multithreaded which makes it insanely fast. In my game Hyper Knights I was handling 500+ units and the Pathfinding was still working very fast.
4:19 You lowered the size and hit 'scan' but when it recalculated there was a bunch of blue outside of the new pathfinder area boundaries? Any idea why that happened? Thank you for the video this looks really cool.
It happened because of how the path mesh generation works, it looks at the object it hits, like the floor, and splits it into a bunch of nav meshes.
Setting the volume guarantees the area inside the volume is tested but if the object itself is bigger than the volume area the calculated navmesh might go outside the volume.
I'm guessing the reason they don't force the created nav meshes to be only inside the volume is because it's unnecessary, there' no harm in letting the nav mesh go past the volume, all you care about is that the entire area inside the volume is tested which it is.
@@CodeMonkeyUnity oh great! That makes sense and is cool and clever. Thank you for the clear explanation :)
How can i make a AI where it walks to waypoints and when it sees a player it will chase them until it loses the player
That would be some basic enemy AI, I covered a basic state machine here
unitycodemonkey.com/video.php?v=db0KWYaWfeM
unitycodemonkey.com/video.php?v=qZC1VYWnHZ8
@@CodeMonkeyUnity but how can i use the astar pathfinding in this video and then add the search system
Hi Code Monkey ! Are you planning to show ways to do data tracking through Unity ?
What do you mean by data tracking? I covered Unity Analytics here th-cam.com/video/3jDD-E1OUkc/w-d-xo.html
@@CodeMonkeyUnity Oh nice ! I searched for "data" in your videos and this one did not show up.. Thank you !
Thanks, pretty interesting video!
What about ML-Agents? don't they override pathfinding? I guess for simple behaviors (simple follower/go to a direction agents) this is perfect, but what if you'd like to add some intelligence to the "enemy"? Would there be a possibility to combine them?
Can I use the free version for commercial use?
Yup!
I tried this years ago, but one thing i couldn't get working was multiple enemies with pathfinding passing each other. So if enemies get near or collided with each other they would just keep rubbing and bumping against each other without their pathfinding changing. Hope you understand what im saying.
There is an included demo that showcases local object avoidance so it does support that
@@CodeMonkeyUnity thats good to know, but how is it though? Does it change their pathfinding, or just makes them avoid each other. So if they were all going to the same spot, would they be smashing against each other trying to avoid, or would their pathfinding say "You can't go there"
NullReferenceException: Object reference not set to an instance of an object
PlayerRTS.MoveTo (UnityEngine.Vector3 targetPosition) (at Assets/Scripts/Player/PlayerRTS.cs:24)
RTS_Movement.Update () (at Assets/Scripts/Game/RTS_Movement.cs:59)
Throwing is exception.. I didn' t change anything.....
Use Debug.Log to find what is null th-cam.com/video/5irv30-bTJw/w-d-xo.html
I have this asset and I want to make the enemy follow the player. The problem I am running into is the enemy will go to the player 0th position where the player starts but then wont update to follow. The Enemy has the AI Destination Setter and I have dragged the Player prefab into the Transform Target slot in the inspector. What did I do wrong with this setup? How can I get it to always follow me?
EDIT: This is a 2D top down game, I have added the A* component and attached the seeker, and AI Path scripts to the enemy. If I put the destination setter to an empty transform that I move around in game it works, but when I try to put my player prefab in the Target Transform, the enemy only goes to the player 0th position. Any ideas?
Perhaps you didn't scan the scene? Do you see the walkable areas? Is that unit capable of walking on those areas?
@@CodeMonkeyUnity Yes I have scanned and I can see the path. Here is what I did to get it working. I have a game object I have called "EssentialsLoader" that I drag into every scene. In that I put things like my Player prefab, Game Manager, UI Overlay, Audio Manager, Game Assets and other things that every scene will need. The code for this checks the scene and prevents duplicates from being instantiated in each scene. If it finds duplicates it removes them. My Player prefab was in the EssentialsLoader.
So I was dragging it in from the Project window, and not the scene window since it was not in the scene window. By taking the Player prefab out of the EssentialsLoader and putting it into the scene view, the AI Destination Setter works perfectly now.
The reason I did it this way was I know in the future I will be swapping out my player prefab, and having a reference to the player prefab in the "EssentialsLoader " I would only need to make that one change. Not in every single scene. Is there a way around this?
Does this work with procedurally generated terrain and the Unity Tilemap system? How would I define which tiles are obstacles and which aren't?
Sure, you just add a collider to the Walls Tilemap
I think the included 2D demo does use the Tilemap.
@@CodeMonkeyUnity And what if I want to use a 2d bool[,] array where obstacles are true and walkables are false. Would I be able to use that instead? :D
The scan doesnt recognize walls what should i do?
Check thte colliders, check the layers
Thx now it works❤
Bro I just bought your visual scripting course
I hope you like it! Ask any questions you have in the Q&A section!