Functions and intergrations

Mattis

Active member
Hi!

So I have been considering this asset , soI have a few questions:

1. Final IK & Puppetmaster Intergration?
2. Pun 2 intergration?
3. Rootmotion driven or nav? is both possible?
4. Is it suitable for zombies?
5. whats the performance on 50 AI´s?
6. Is it compatible with some instancing asset or crowd animator? wich boost performance and let me have many AI´s.
7. Is there any smart functions for entering houses and AI´s walking inside houses?
 
1. Final IK & Puppetmaster Intergration?
FinalIK yes, PuppetMaster no.

2. Pun 2 intergration?
See this post: https://opsive.com/forum/index.php?threads/behavior-tree-and-multiplayer.366/

3. Rootmotion driven or nav? is both possible?
This isn't really applicable towards behavior trees.

4. Is it suitable for zombies?
Yes, you can create a tree with zombies

5. whats the performance on 50 AI´s?
Traversing the tree is fast. You'll hit other issues before you find it slow to traverse the tree.

6. Is it compatible with some instancing asset or crowd animator? wich boost performance and let me have many AI´s.
I haven't used those assets but those assets are focused on the rendering so is independent of Behavior Designer

7. Is there any smart functions for entering houses and AI´s walking inside houses?
No

Before you purchase I highly recommend that you take a look at some of these resources on behavior trees:
Behavior trees offer a lot of flexibility, but you also need to create your own tasks for the more specific functions.
 
Okay, totally understand it now . Its an visual scripting for AI. Everything else like animation and such need to be setup the usual way in code or ? ex. where the code is for moving you put the animator "walk" bool .
 
Okay, totally understand it now . Its an visual scripting for AI. Everything else like animation and such need to be setup the usual way in code or ? ex. where the code is for moving you put the animator "walk" bool .
Correct.

If your game is networked it's way more complicated than that. Since you listed Pun 2 I am assuming you are writing a networked game? I am using Mirror (which isn't 'integrated' with BD btw and is server authoritative unlike Pun2 ) and what I'm doing right now is:

  1. the Behavior Designer tree runs on the authoritative server only, and since it moves the enemy AI, and that enemy AI is a mirror network transform set to sync to all observers all of them move on all the clients.
  2. Then I have a script (again runs on the server only but syncs to all the clients) that detects the movement and applies the correct animation boolean to the animator. To keep the check simple I'm just checking if the navmesh agent hasPath or not.
  3. The animator runs only on the client, responding to that network synced variable.

It's super basic/simple but works fine for my prototype. I imagine I'll have to do some more coding with syncvars in mirror to allow for more states and be more robust. The trick that made all of this work is that I had to check when the objects were instantiated and disable the behavior designer component if that object was not on the server.

This isn't probably the best way to do it, but it works and this is just a prototype at this point for play testing. Maybe the experts can chime in below and teach us a better way. :D. I haven't done Pun 2 networking so don't know anything about that.
 
Okay I see! I don't yet now what to do. Making it single player now and later port it to multiplayer.
 
Top