DoN's 3D-Pathfinding / Flying-AI system (with full source!)

So the behavior tree framework itself is the only bottleneck here?

If so, one trick I can think of is to move your bot via velocity (tick based) rather than via offsets (AddMovementInput based). You will still use AddMovementInput to set a “desired velocity” but this velocity will be consumed in your bot’s tick. That way even if the behavior tree is busy realigning itself between tasks your bot will continue to be mobile for those few frames thus creating the illusion of continuity.

Another approach is to write a new BT task that condenses your entire “Circle Strafe” sequence into a single unit. This task would generate the strafe points, call the low-level pathfinding API directly and being self-contained there should be no downtime. However if you want to write a “Fly To Multiple” to support future usecases as well then you can create a simple UObject data container which holds your TArray<FVector> inside of it and pass that around via a blackboard UObject key (I found this tip from Unreal’s BT dev on answerhub btw)

Great to hear from you too! My project will releasing very soon and I can’t wait to share Drunk On Nectar with the world :slight_smile: