AStar Navmesh Generator

Overview

Custom Navmesh generation tool I created for a 2D platformer game. This tool, designed for the specific game in question, allows for navmesh generation based on custom built levels using basic Unity tile maps

The Navmesh for each level is generated upon level start, and nodes are laid out based on a few factors:

  • Nodes located next to other nodes are known as “Path” nodes, highlighted in green
  • Nodes located next to an edge are known as “Edge” nodes, with there being two edge variants: Left (blue) and Right (magenta).
  • Nodes with an empty space on either side are known as “Solo” nodes, highlighted in yellow.

Additionally, any edge nodes can have fall or jump links. The AI agents will use these links when path-finding to the player to determine what jumps are possible for the agent along it’s path.

A sample level showcasing the current navmesh

Development Challenge

I decided to create this Navmesh generator due to a need presented by a small project. Unity does not have 2D Navmesh support, and as the project was being developed in Unity, I decided to try something new and make this generator

This generator is a stepping stone that leads into my first custom AStar navigation algorithm.


Future Use

The generator is currently designed for a specific game type, and therefore has specific metrics, such as jump height. I plan to improve upon what is currently there and make an A* pathfinder to go along with this early version.