NavMesh not generating

Godot Version

v4.2.2.stable.official [15073afe3]

Question

Hello, I am building a dungeon and want to start work on enemies, so I wanted to get a navmesh going in a test scene.
So I’m using a plugin called Level Block
You can click the link to see how it works, but put simply, it creates a node with 6 sides and you can choose a texture for each side and if it has a texture it will have collision, if a side doesn’t have a texture, no collision.

It’s a very handy tool for quick dungeon building, and I really enjoy using it, however, when I try to bake a navmesh, it won’t do anything inside these Nodes. I tried creating a simple ground with CSGBox3D outside to see if the mesh would generate on that and it did indeed generate a mesh on that node.

So my question is, does anybody know how I can get a NavMesh to bake inside these nodes, OR do enemy pathfinding in a different way that might be easier.

I’ll happily send over any information/files that would be needed!

Here’s a screenshot of the LevelBlock inspector if it helps (I could only add one in the first post apparently)

By default only core node classes with geometry (e.g. StaticBody, MeshInstance) from the engine are considered in the navigation mesh parse step of the baking.

Node classes from addons or extensions that are not just extending those already supported core node classes will not be considered in the baking.

To support those custom classes they need to create and register a source geometry parser with a callback on the NavigationServer.

See PR that added this feature here Add navigation mesh source geometry parsers and callbacks by smix8 · Pull Request #90876 · godotengine/godot · GitHub

That addon likely does not do that and since it just uses a generic Node3D as a base for its custom nodes it has no support for the navigation mesh baking.

Appreciate the quick response.

So is that an addon or just a proposed feature for Godot, I didn’t understand. Also does that mean I have no way of baking a mesh onto these nodes at the moment? Do you know of another way I could do simple pathfinding for enemies as a replacement? It doesn’t need to be complicated, what I need is basically just:
A way for the enemy to detect the player within a certain range, then chase the player and if close enough, attack.

I’ve been trying to search for methods of pathfinding for godot but everything I find is using a navmesh.

That linked PR with the navmesh geometry parsers is a feature that was added to the core engine and is part of Godot since 4.3. It is intended to allow custom node classes provided by addons to participate in the navigation mesh baking process. While the option for this now exists in the core engine, as we can see here not every addon supports it. Your used Godot version 4.2.2 also does not support it so you might need to upgrade.

Since the addon you are using does not support navmesh baking you either need to ask the addon maker to add support or do this geometry parser step yourself if you want to have support for it. Look at the linked PR that has script examples how to create and register those parsers. It will require you to have basic knowledge how to work with procedural meshes.

Build-in engine options for 3D pathfinding in Godot are the AStar3D waypoint navigation class or the navigation mesh system of the NavigationServer.

thank you so much for the detailed reply!