Download

Behavior Tree Not Working after 4.0.1

I’ve been pulling my hair out for a few days trying to wrap my head around using behavior trees. I’ve followed several tutorials and have also tried experimenting, and my AI character just stands there. I’ve even found some other people’s shared projects, and they don’t work. I can move the character using a Simple Move To Actor or Simple Move To Point node in a blueprint, and that works exactly as expected, but nothing I do seems to get the behavior tree to trigger movement.

I had assumed I was missing something, or had something mis-configured, but I found a project from a tutorial video:

It worked when the video was recorded. On my machine, it works fine on 4.0.2, but does not work right on 4.1.1 or 4.2. This makes me feel a touch better about not being able to get behavior trees to work in my projects, as it would seem to indicate that 4.1.1 changed or broke something with regards to behavior trees and AI programming.

Before I filed a bug, I wanted to see if anybody had run into this and knew what has changed or what might need to be fixed? AI seems a commonly-enough used functionality that I’m guessing someone has figured this out already, but Google has failed me.

Thanks much!

It was working fine for me as of yesterday.
Double check that your character has an AI controller, and that controller is actually running the behavior tree.

Yes, there’s an AI controller. Yes, it has a behavior tree and yes, it is running. The behavior tree acts as expected, and everything works fine under 4.0.2. Under later versions, things look mostly right when debugging, but the character just idles.

I’m sure there’s something small or subtle that has changed that is causing it not to work, but I’m stumped as to what it might be. I’ve tried following several tutorial, and I get the same result with all of them if I’m using 4.1.1 or 4.2. :frowning:

Thought it might be a problem with the Mac editor, but I sent the above-linked project to a co-worker using Windows, and the project did not work for him under 4.2.

Increase the radius on your get random point to 213+
Or replace it with your own function.

It may be that a programmer decided it wasn’t really worth picking a random point within a radius of two or so meters.

<hangs head in shame>

I should’ve known it was something stupid. I’m coming from Unity where 1 unit = 1 meter, so didn’t even think about the random range not being far enough.

Thanks so much for your help.

Don’t.
For most of the functions you have to dig through the code to find out what exactly they do.
By default 100 uu = 1 meter. You can change this to anything you want, for my project 20 uu = 1 meter The characters in my project tend to be between 10 and 20 meters tall, so a 1/5th scale works well enough.