[PLUGIN] Region Pathing - Advanced Node Traversal

**Hello All,
**
I wanted to show a recent submission to the marketplace completed by and Myself.

This is an advanced node traversal workflow which can be used to give a developer greater control over any actor’s navigation path. There are numerous scenarios in which these tools can be beneficial in a variety of game types. (I have included some demonstrations in the video below)

=

**The set-up and development process is simple:
**

  1. Add the regions to your level and connect them. (you will also need to place the included 2D capture cam to review your data. just drag and drop.)
  2. Re-parent your Game State and turn on the baking menu option, then simply run a simulation of the level.
  3. Once the game has loaded a baking menu will automatically appear and you can adjust the way in which you would like to process the path map.
  4. After you have adjusted the baking settings to your preference simply hit “Bake”. The log will keep you updated and tell you when you have finished baking the data. Once it is complete, your data will be automatically saved to your project folder.
  5. Now back to the Game State and turn on the debug menu option, then run a level simulation again.
  6. Once inside the Debug Menu you have the control to review and remove any unwanted paths that were generated per a pair of selected regions. Once satisfied with the alterations simply press save.
  7. Now your Data is ready.

**And using the data is just as simple: **

  1. Re-parent the included “Region Traversal” actor into your Character/AI’s hierarchy.
  2. Search for and drag out the function “Path to Region.”
  3. Input the required target data and specify the pathing variables.
  4. Now your Done! (though double check the level contains navigation mesh.)

Behind the Scenes:

  • C++ Core.
  • Multi-threaded Baking, Saving, and Loading. (Will not interrupt your game)
  • Data is serialized to disc as a .NAV file in your project’s folder.
  • Data is automatically loaded on start.
  • Saves a different data file per level.

More information to come.
Thank you for looking,

()

More videos/examples:

Baking Menu

Pathtopia
=O1oi3zW467A
**Demonstration Download:**Pathtopia - TrafficLights]() - 61.7 mb

Hi

Nice the wonderful pathfinder nodes is coming back in C++. :slight_smile:

I loved it

Looks useful, I like the fact that the user can follow a predefined path on screen

Dear Community,

I had a lot of fun writing the C++ core algorithm, it can handles very complex networks of nodes!

is an amazing BP coder, and so in this plugin you are getting both a C++ core as well as powerful Blueprint node tools!

The workflow is entirely in the editor, no C++ required, but UE4 C++ is the core engine of the whole thing :slight_smile:

Because the information is backed into binary files the system runs super-fast at runtime with hundreds of AI using the network to choose where to go based on your BP specifications!

:heart:

Very cool!

Will this work in a dynamic/World Composition scenario? i.e. can I set up and bake pathing from Level A to Level B knowing that Level B may not be loaded at any given time?

Looks nice. Since it’s a plugin, don’t expect to be on the Marketplace for a long time.

awesome work

Hey ,

I have a bit of a request for an few examples for your framework.

Would it be possible to get a Traffic example? Cars stopping and going at certain times when they are at traffic lights.
Would it be possible to get a pedestrian example? So pedestrians crossing the road, using sidewalks, and crosswalks in conjunction with traffic lights.

Or would this be out of scope for your plugin?

Thanks for your time,

i love it!! i hope it comes out … great work you guys! :smiley:

Wacky Car AI Project Download Using Region Pathing Plugin

Hello Head Clot,

This is an interesting idea! I built a small example that you can view yourself. I didn’t not make street lights or pedestrians, though it is completely possible to have 2 closed loops of regions, 1 for pedestrians and 1 for cars. As well there wouldn’t be any issues to have a street light directing traffic by communicating to the regions and having the cars check if the intersection they are coming to is green or red. If I find some time, I will put some more in to setting up an example with traffic direction and pedestrians.

For now I will let everyone download a packaged example of the cars chaotically driving around. They each grab a random path and once they finish that path they find a new one. The car movement is ran completely using the stock car movement component, NO navigation mesh is in use. Also you will notice that the cars stay on their side of the road, this because I am using one way paths.

This pathing algorithm supports one way paths, there for allowing me to create two sides of the road.


Download Example For EVERYONE! For you from  and 

**Wacky Car AI **-

Enjoy!

&

Thank you for your kind words and support!

Thank you Muhammad!

Understood, potentially we may do an earlier release outside of marketplace.

I will get back to you on this. It is possible with a little more ironing out. Now that it is brought to our attention we will see how/if we can easily provide support for users in this manner. It is on the to-do list though,

This is amazing. There is too much potential in C++ and these guys can use all of it. I need to learn C++ ASAP :slight_smile:
Once plugins become available as blueprints in marketplace, we’ll have totally new level of tools :o. So much hype!! :smiley:

Sounds good! But can there be different options for how the actor responds to a blocked path? And how they act when they reach a waypoint? Like wait there for a while before moving on? That’s something I’ve seen in other engines and would like that but as long as it’s easy enough to implement that feature myself I’m okay with it.

Thanks for the example. I am very interested in this plugin now. Especially if it works with world composition. :smiley:

I think if you do this the interest for this plugin would go up quite a bit. That said - How much do you plan to charge for this plugin?

Most definitely! All of the pathing work is done in blueprints so you can easily add your own rules to how they path and update. There is already a variable for how long they stall after they reach a way-point.

I have done my best to allow people to intertwine their own pathing rules. The root data to make all of this possible is a layered structure that loads in the beginning of the level. You can easily look at how I used it in the stock “Path To Region” function included and then replicate it in your own manner. Many of the functions used to decide a path are inclusive and all you would need to do is call the function and it will spit out the “Path Map” designated to 2 specific regions. So you give the function 2 regions (a start and end region) and it will give you the “Path Map” which contains all of the variations that are possible to get from A to B.

@ & @ This plugin looks mighty useful and exactly what we’ve been looking for with one of our projects :slight_smile:

My question relates to both the regions nodes themselves and the pathing between them:

Would it be easy to offset the both the region nodes and/or paths between them to offer a more varied AI at scale when it comes to hordes of large AI? As the more AI added to an environment in a specific area, the more it would make it obvious that they are following a very straight path between regions + also meeting up at the exact same region point in space?

I guess one solution without adding to the Blueprints and potentially breaking something is to just add more regions clustered together such as that of your “**Wacky Car AI” **example above.

Nonetheless I’m sure it wouldn’t be too difficult for the end-user/developer but it would be handy if those kinds of settings are exposed in the settings panels for each of the Region_BP’s placed in-world by default :slight_smile:

EDIT: Scratch that I noticed at 1:05min into the 1st video after watching it again in 1080p (facepalm) that there is a setting called Region Nav Radius which I assume partly or fully offers the functionality which I suggested above.

Good eyes! That is correct. I have included the ability to grab a random point in a radius, with the “NavMeshTracer” being the epicenter (displayed in the picture below). The tracer is positionable asynchronous of the region so you can fine tune the placement. The tracer is also the location for which the regions visualization lines connected in the editor. We have included an experimental option to display UE4 navigation paths to and from each connected region so you can have greater visualization over how the points would connect in regards to using UE4 navigation pathing, though the stock option is to display just a straight line. You can individually set the radius for each region to better suite each regions placement. This greatly helps get a better spread for big groups of mobs. I use a bit of that feature to help diversify the movements of each spider in the arena example.
**
Function used to find next path location.**

**Notice the different locations of the “NavMeshTracers”. **

Pathtopia

So I have assembled a more refined example of the Car Pathing for everyone to download and experience. This time I have included traffic lights and as well the cars now have some collision prevention.

================================

Controls:

“Highlight” a car and “Left Mouse” to follow.

“Z” and “C” will transition between cars.

“X” will return to spectator.

================================

The traffic lights are possible because every region is an actor, which can store the necessary data and can easily communicate with the traffic light. As well since the regions are actors I communicate to them through the cars to check and see if the light the car is approaching is green or red.

All of the car pathing is ran off of the UE4 stock car’s movement component. This allows the use of all the physics they have engineered for the car.

I hope you enjoy it!

Pathtopia Download!]()