Recast Navigation for JME

Im starting on AI now and found that the existing projects for AI linked to the wiki leave a lot to be desired. I was actually surprised to find that AI is not a core function of the engine since it is a core function of just about any game. I guess there’s reasons for it. If there is such an animal, please feel free to enlighten me.

Anyhow, the wiki references Recast Navigation as a solution but the jNavigation port just seems to me to be to risky since its not active.

I found this java port, Recast4j that is an active port of Recast Navigation.

I thought it might be a good idea to ask those familar with jNavigation whether or not this looks like it would work with jmonkey and potentially be a replacement for jNavigation before I get stupid and spend a month on it.

Feel free to make other suggestions for jmonkey AI because the wiki needs some attention given to the subject.


For path finding there is also jme3-artificial-intelligence library for jme, I think wiki has not mentioned it, might be a good idea to put a link to project there.
the main repo is at

and the more recent updated version on : (see the release note)

There is an example on jme cook book I think.


About recast usage you can find more talk about it here.
As per pathfinding implementations the links given by Ali_RS are the only one currently implemented in jme3 (I’m using it too), however, it is far less advanced than recast (eg: It only support static meshes, if you want to modify a current navmesh in runtime, you must re-do it entirely).

I have also thought about recast a long time.
Things like dynamic tiling and detour crowd are really awesome (detour is the path follower for recast).

But then: JME tends to be a bit more on the “graphics engine” side than a game engine and other AI features are pretty user dependent.

It’s your choice if you use a state machine or a behavior tree or something else.
Now if there was a JME State Machine everybody would try to get his AI into that, even if another way was better.
That’s what I guess there is no AI Support yet

1 Like

Totaly agree with that, but it would be great if any jme3 user could share a library to work with recast :stuck_out_tongue:

1 Like

There is always LibGDX-AI Home · libgdx/gdx-ai Wiki · GitHub. We are using it and it works ok.


I added the basics of the jme3 Artificial Intelligence page. All that’s left is to go into detail of the actual library with code examples and maybe flesh it out some.

If anyone wants to donate some code examples they can post them here and I will add them. Otherwise its going to have to wait until I finish learning AI.

Theres a problem with the jme3-artificial-intelligence library.

Portions Copyright © Greg Snook, 2000

This makes it unusable correct?

It depends on the license. If the license grants permission to use, modify, and redistribute (I.e., pretty much every open source license ever), then you’re fine as long as you follow the license terms. Copyright establishes who owns the code; license establishes what everybody else can do with the code.

I tried finding some free info on the book code snippets so I could read the use agreement but I struck out.

Usually you can use code as you wish but I like to know things for certain.