Hey, I had a question- is DOTS supported by BD (Behavior Designer), and how is that implemented? I am using Unity 2022.3.22f1 in URP (Universal Render Pipeline).
What are the steps and is there documentation for it?
What kind of back end is BD running performance wise normally? When I have 100 units, its ok without DOTS. When I have 500 units it lags like crazy since every unit is using an update loop, and this is a really basic setup too (like 3 branches with seek + attack).
Afaik it's because each unit is running logic and that is stacking memory consumption. But with DOTS that issue should go away. The question is if it's possible to integrate BD with DOTS/ECS.
If so, is there some way to clone/bake the logic from a BD tree into a DOTS setup? Or is there some special node that tells BD to become a DOTS type system?
From what I've seen, DOTS has a difficult setup, since there's no visualization like the opsive BD tree.
It seemed like I would need to create "pseudo-branch" functions that essentially perform the task of a BD branch (conditional/actions)- but they would be hard-baked into a function. Then DOTS would call that specific function, imitating a behavior (in theory). There would be no BD.
Hand creating behaviors is less than ideal since BD offers a dynamic setup. The only issue is allocating that memory to DOTS/ECS to have a single brain/multi-threading handle the issue.
The goal is to have thousands to millions of units on screen like an RTS, but all performant. If it is not possible, then I'll be unable to use BD and will need to hand-create functions.
I think BD is great for stuff like boss fights since that is a singular entity and doesn't require mass simulation, I just don't know if it's good for large amounts of units and how to integrate that into DOTS (if possible). Any Ideas?
Thanks,
What are the steps and is there documentation for it?
What kind of back end is BD running performance wise normally? When I have 100 units, its ok without DOTS. When I have 500 units it lags like crazy since every unit is using an update loop, and this is a really basic setup too (like 3 branches with seek + attack).
Afaik it's because each unit is running logic and that is stacking memory consumption. But with DOTS that issue should go away. The question is if it's possible to integrate BD with DOTS/ECS.
If so, is there some way to clone/bake the logic from a BD tree into a DOTS setup? Or is there some special node that tells BD to become a DOTS type system?
From what I've seen, DOTS has a difficult setup, since there's no visualization like the opsive BD tree.
It seemed like I would need to create "pseudo-branch" functions that essentially perform the task of a BD branch (conditional/actions)- but they would be hard-baked into a function. Then DOTS would call that specific function, imitating a behavior (in theory). There would be no BD.
Hand creating behaviors is less than ideal since BD offers a dynamic setup. The only issue is allocating that memory to DOTS/ECS to have a single brain/multi-threading handle the issue.
The goal is to have thousands to millions of units on screen like an RTS, but all performant. If it is not possible, then I'll be unable to use BD and will need to hand-create functions.
I think BD is great for stuff like boss fights since that is a singular entity and doesn't require mass simulation, I just don't know if it's good for large amounts of units and how to integrate that into DOTS (if possible). Any Ideas?
Thanks,