Recent content by abc123

  1. A

    Ticking SOME behavior trees manually

    Have you tried to Disable/Enable these trees? It's logical to assume that disabled behaviors don't tick.
  2. A

    Wandering - but not forever

    Place Wander and Random Wait under Parallel Complete branch.
  3. A

    just started?

    OnStart()
  4. A

    Doubts with abort + reused conditional

    It's tough to say, not being in context of your project. But anyway, before the most expensive checks, I would add all sorts of other conditions first: - is shooting possible? (previous animation finished playing) - is ammo enough? (otherwise can't shoot, need to reload) - is enemy in range of...
  5. A

    Quick way to move variables inside the tree?

    I have ~50 variables in my tree, which I like to keep organized. Every time relocating or adding a variable turns into a lot of clicking. My suggestion is very simple: - new variables always appear on top - left click moves 1 position - shift+left click(or just right click) moves 10 positions
  6. A

    Doubts with abort + reused conditional

    You shouldn't have full Flee behavior reference inside the Search branch, this is logically wrong. There must be just a single IsLowHP conditional task inverted. If you don't want to repeat Flee in different branches, but make it a separate branch on the left, then you run into another problem...
  7. A

    Add conditional aborts to conditional evaluator

    So we can do this way and that way. Possible?
  8. A

    Doubts with abort + reused conditional

    I don't have the pack that you are using, so I'm not quite sure what tasks in your tree exactly do. I use my own custom tasks for everything, including separate actions for movement and sight. These actions always return status running, they don't check any conditions internally, they are fully...
  9. A

    Doubts with abort + reused conditional

    If I understand correctly, you want to Flee on low hp, and if enemy visible also attack. You can achieve this by adding selector under two main branches: Don't mind task names, this is just to give you an idea. This tree will always reevaluate two conditions: Enemy Detected and Is Low HP. As...
  10. A

    Reading and Writing shared variables produces a lot of garbage

    I have a question: what are benefits of pausing behavior trees on start? Isn't it better to not start them at all, until you want the behavior to actually run? My algorithm looks like this: - Create pool of external behaviors, Init() them - Create pool of agents, add BehaviorTree components...
  11. A

    Instant Flag and Event

    From your description and screenshot it seems the problem is that conditional aborts are set to "both". That's why sequence stops next frame, when condition fails. If you want the sequence to fully run once it started, set the abort type to "lower priority". However, I can tell you from my...
  12. A

    Stopping a task before completed?

    Selector checks the left branch first. If target is within 5 units, it's also within 10 units obviously. The left branch condition covers the right branch condition, that's why it will never execute the right branch. Swap the branches under selector and switch conditional abort to "both" instead...
  13. A

    Questions about my first behavior tree

    Looks good, the only thing I don't like here is using Repeater. My personal approach is to make tasks like Wander/Seek/Attack continuous actions which always return status "running". Because the conditions for these actions are checked outside of them (via conditional aborts). If you check...
  14. A

    Stack Overflow Error on custom Task

    You need to run myList.Clear() before or after execution, otherwise it grows infinitely. Also, this code it very unoptimized, you shouldn't use GetComponent() on update etc. Actually, to find the closest element you don't need this list at all: float closest =...
  15. A

    Request for IntList / SharedIntList

    You can create shared variable of any type you need, just compile this script using System.Collections.Generic; namespace BehaviorDesigner.Runtime { [System.Serializable] public class SharedListInt : SharedVariable<List<int>> { public static implicit operator...
Top