Search Unity

Behavior Designer - Behavior Trees for Everyone

Discussion in 'Assets and Asset Store' started by opsive, Feb 10, 2014.

  1. Silly_Rollo

    Silly_Rollo

    Joined:
    Dec 21, 2012
    Posts:
    501
    NullReferenceException: Object reference not set to an instance of an object
    UnityEditor.EditorWindow.GetWindow (System.Type t, Boolean utility, System.String title, Boolean focus) (at C:/BuildAgent/work/d3d49558e4d408f4/artifacts/EditorGenerated/EditorWindow.cs:423)
    UnityEditor.EditorWindow.GetWindow (System.Type t) (at C:/BuildAgent/work/d3d49558e4d408f4/artifacts/EditorGenerated/EditorWindow.cs:407)
    BehaviorDesigner.Editor.BehaviorDesignerWindow.ShowWindow ()

    Getting this error when I try to open the behavior designer window after upgrading to the newest version (off the web site and not the asset store). Any ideas?
     
  2. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    5,125
    I had to rearrange the directories again for version 1.1. 2 so before you imported did you completely remove the /Behavior Designer/runtime directory?
     
  3. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    5,125
    Version 1.1.2 of Behavior Designer has been released. To be safe remove your previous Behavior Designer installation folder since I had to change the project structure a bit (make sure you save off your tasks if you keep them within this directory).

    This version contains the following fixes:

    - Relocated the core runtime files to Plugins/Behavior Designer to get around Unity bug 599473.
    - The active tasks will now receive OnCollision/OnTrigger callbacks
    - The node connection line will show even at the furthest zoom level
    - Private task fields will show in the inspector if they have the SerializeField attribute
    - Builds correctly on WINRT
    - Parent behavior trees will consume the external behavior tree’s shared variables
    - Serialization fixes
    - Changed the default values for the repeater task
    - Added a preference to turn off the task fading
    - Minor bugfixes

    Also, I have been working on a smaller project related to Behavior Designer that I hope to be able to announce very shortly.
     
  4. Silly_Rollo

    Silly_Rollo

    Joined:
    Dec 21, 2012
    Posts:
    501
    Yep removed all the old BD files but still got that message. I added it to a clean project and didn't get the error so it's something to do with another asset. I'll be adding them one by one to this one and I'll let you know what is colliding with it.

    Visualizing external trees is still on the way in version 1.2 right?
     
  5. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    5,125
    Visualizing external trees will definitely be in 1.2, in fact it is already mostly done. I have a little bit of polish to do still but it works really well.
     
  6. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    5,125
    One of the most popular Behavior Designer requests that we've received is asking us to include more tasks. Of course, the sample projects provide a great starting point with those tasks, but we wanted to provide more. We decided to limit the tasks that are included with the core Behavior Designer asset and instead come out with packs that include different tasks for a specific topic. The first pack that we are going to release is the Behavior Designer - Movement Pack:

    Behavior Designer - Movement Pack contains 15 different behaviour tree tasks focused on movement. In addition to covering all of the AI steering behaviors, some tasks provide unique functionality such as finding cover or hearing if a target is within range. Three tasks - flock, leader follow, and queue - provide an excellent example of controlling multiple AI agents with just a single behavior tree. Also, the majority of the tasks are integrated with Unity NavMesh making pathfinding really easy. Each task is well commented and written in a generic and clean way making it very easy to integrate into your own project. This pack will continue to grow as we hear new task suggestions from the community.

    The following tasks are included in this pack:
    • Move Towards
    • Rotate Towards
    • Seek
    • Flee
    • Pursue
    • Evade
    • Patrol
    • Cover
    • Wander
    • Search
    • Within Seeing Range
    • Within Hearing Range
    • Flock
    • Leader Follow
    • Queue
    We have the overview page and most of the documentation available online already. On the overview page you'll find a web player demo of the 15 different tasks. As an example, here is a screenshot of the queue task:

    $queue.PNG

    The queue task will move a group of objects through a small space in an organized way. Instead of having a behavior tree on each individual object we have a single behavior tree with a single task controlling all of the objects.

    The only thing that we have left for this pack is to finish up the icons and then we will be submitting to the Asset Store.
     
    Last edited: Apr 5, 2014
  7. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    I just discovered this post after i bought your great asset. I was right. Good job.
     
  8. katoun

    katoun

    Joined:
    Dec 26, 2012
    Posts:
    91
    I did not like the structure change as it broke my project's structure, but after some tests managed to make work nice:
    - Moved Behavior Designer/Editor to Editor/Behavior Designer
    - Moved the rest from Behavior Designer to Plugins/Behavior Designer
    I hope nothing brakes but it seems to work ok.
    Grate work on the plugin and the updates.
     
  9. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    5,125
    @ZJP -

    Thank you!

    @katoun -

    Yeah, I really don't like how it is organized right now either. I was really caught off guard by that Unity bug. What I am considering doing in the next version is to go back to an editor and runtime DLL, but include the runtime source in a zip file. That way it will be a clean directory structure while still providing the source.
     
    Last edited: Apr 6, 2014
  10. Simie

    Simie

    Joined:
    Oct 26, 2012
    Posts:
    456
    If I have a reference to a behaviour tree asset, is there a way I can dynamically AddComponent<BehaviourTree>() and configure it to use the behaviour tree asset I have? I can't find anything in the docs about this.

    I ask because I construct all my units from code, so using a prefab would be a somewhat ugly, so I'm trying to avoid that.
     
  11. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    5,125
    Somebody else recently requested a way to create a behavior tree and reference an external tree from code as well. I plan on making it easier in version 1.2 but for now you can do the following:

    Code (csharp):
    1.  
    2.             var behaviorTree = gameObject.AddComponent<BehaviorTree>();
    3. #if UNITY_EDITOR
    4.             // an entry task is required in order to view the tree within the editor
    5.             var entryTask = ScriptableObject.CreateInstance<EntryTask>();
    6.             entryTask.ID = 0;
    7.             entryTask.Owner = behaviorTree;
    8.             entryTask.NodeData = new NodeData();
    9.             behaviorTree.GetBehaviorSource().EntryTask = entryTask;
    10. #endif
    11.             var behaviorTreeReferenceTask = ScriptableObject.CreateInstance<BehaviorTreeReference>();
    12.             behaviorTreeReferenceTask.ID = 1;
    13.             behaviorTreeReferenceTask.Owner = behaviorTree;
    14. #if UNITY_EDITOR
    15.             behaviorTreeReferenceTask.NodeData = new NodeData();
    16. #endif
    17.             behaviorTreeReferenceTask.externalBehavior = externalBehaviorTree; // your external behavior tree (.asset file)
    18.             behaviorTree.GetBehaviorSource().RootTask = behaviorTreeReferenceTask;
    19.  
     
    Last edited: Apr 6, 2014
  12. Silly_Rollo

    Silly_Rollo

    Joined:
    Dec 21, 2012
    Posts:
    501
    A pack like that for A* Pathfinding Project would be nice. A* is powerful but it is a pain to work with so off the shelf actions would be worth paying for.
     
  13. unicoea

    unicoea

    Joined:
    Feb 18, 2013
    Posts:
    60
    Glad to hear v1.12 is out and v1.2 is on the way, happy to find out more action node is added too!
    and how to add Custom icons for different kind of action nodes?
     
  14. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    5,125
    @Fuzzy_Slippers -

    Definitely, as soon as I get version 1.2 out the door all add tasks that support the A* Pathfinding Project to the Movement Pack.

    @unicoea -

    You can add custom icons with the TaskIcon attribute:

    Code (csharp):
    1.  
    2. [TaskIcon("path/to/icon.png")]
    3. public class MyTask : Action
    4. {
    5.  
     
  15. Simie

    Simie

    Joined:
    Oct 26, 2012
    Posts:
    456
    Thanks, that mostly works. I had an error about shared variables, but I just modified this line (BehaviorSource.cs, line 30) to:
    private List<SharedVariable> mVariables = new List<SharedVariable>();

    and it works like a charm. (it was a null exception when trying to access that field).

    Exception occured in BehaviorSource.GetVariable(string) line 76.
     
  16. Silly_Rollo

    Silly_Rollo

    Joined:
    Dec 21, 2012
    Posts:
    501
    Random weird error message at start:

    FormatException: Unknown char: ٫
    System.Double.Parse (System.String s, NumberStyles style, IFormatProvider provider) (at /Users/builduser/buildslave/monoAndRuntimeClassLibs/build/mcs/class/corlib/System/Double.cs:209)
    System.Single.Parse (System.String s) (at /Users/builduser/buildslave/monoAndRuntimeClassLibs/build/mcs/class/corlib/System/Single.cs:183)
    BehaviorDesigner.Runtime.DeserializeJSON.StringToVector3 (System.String vector3String) (at Assets/Plugins/Behavior Designer/Runtime/DeserializeJSON.cs:369)
    BehaviorDesigner.Runtime.DeserializeJSON.DeserializeSharedVariable (System.Collections.Generic.Dictionary`2 dict, BehaviorDesigner.Runtime.BehaviorSource behaviorSource) (at Assets/Plugins/Behavior Designer/Runtime/DeserializeJSON.cs:314)
    BehaviorDesigner.Runtime.DeserializeJSON.Deserialize (BehaviorDesigner.Runtime.BehaviorSource behaviorSource) (at Assets/Plugins/Behavior Designer/Runtime/DeserializeJSON.cs:33)
    BehaviorDesigner.Runtime.BehaviorSource.checkForJSONSerialization () (at Assets/Plugins/Behavior Designer/Runtime/BehaviorSource.cs:60)
    BehaviorDesigner.Runtime.Behavior.Awake () (at Assets/Plugins/Behavior Designer/Runtime/Behavior.cs:101)

    BT component isn't even enabled. I believe it is related to this issue I am having that I can't solve. Until I figure out why the Unity editor is bugging out when you serialize are you calling CultureInfo.InvariantCulture?
     
  17. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    5,125
    That's a weird issue, especially since built-in Unity components are doing it. To answer your question, yes, CultureInfo.InvariantCulture is called. Serialization is done with MiniJSON and it does call CultureInfo.InvariantCulture. Let me know if I can help with anything else.
     
  18. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    5,125
    The Behavior Designer - Movement Pack has been submitted to the Asset Store. If you want it now just send me your Behavior Designer invoice number and I'll forward you a link to the pack. I will be working on coming up with a more automated way to handle this soon.

    $screenshot.png

    In related news, version 1.2 is pretty much feature complete and it is looking to be as good of a release as version 1.1 was (the release that added variables). I still have some polishing/testing to do as well as get some new images created but I am excited about this release. One of the major themes of this release is debugging - I can think of five features that specifically help with debugging your behavior tree.
     
    Last edited: Apr 11, 2014
  19. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    5,125
    Behavior Designer version 1.2 has been submitted to the Asset Store!

    If you purchased via PayPal you should have already received an email with the update. This update is huge. I am going to wait to post the change list until I can get some screenshots together but I listed a record 15 items on the release notes. To compare, version 1.1 only had 7 items. Most of the popular feature requests have been taken care of - the only major one that was did not make it in is the smaller task feature. This is going to take a little bit more work for our artist and she is working on another project right now so I just went ahead and submitted what I had to the Asset Store. The smaller mode will probably come in a 1.2.x bugfix release.
     
  20. TheLordDave

    TheLordDave

    Joined:
    Mar 2, 2014
    Posts:
    28
    Is a way to serialise the state of the tree and resume it a planned feature?

    I need to be able to save the state of multiple entities and then reload them on the next game load. So all of the trees will need to start up where they left off.

    Cheers
     
  21. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    5,125
    That's an interesting idea, no I didn't have that as a planned feature but I will add it to the 1.3 list.

    How deep are you thinking of serializing? For example, if you serialize a behavior tree that is currently on a wait task, do you need it to serialize with the knowledge that 0.5 seconds have already elapsed? Or do you just need to pick it back up at the wait task, starting fresh from there? I guess it is a matter of if the private variables of a task need to be serialized, or only the more global behavior tree state needs to be saved.
     
  22. jnoffke

    jnoffke

    Joined:
    Nov 26, 2013
    Posts:
    31
    After updating to version 1.2, I'm getting an "InvalidCastException: Cannot cast from source type to destination type." error when trying to use the context menu to add a task in the behavior designer window. Here's the full error :

    InvalidCastException: Cannot cast from source type to destination type.
    BehaviorDesigner.Editor.BehaviorDesignerWindow.addTaskCallback (System.Object obj)
    UnityEditor.GenericMenu.CatchMenu (System.Object userData, System.String[] options, Int32 selected) (at C:/BuildAgent/work/d3d49558e4d408f4/artifacts/EditorGenerated/GenericMenu.cs:112)
     
  23. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    5,125
    Based on that call stack, that error is occurring when you add a particular task, right? Does it occur for all tasks? Can you send me the task that you are trying to add?
     
  24. jnoffke

    jnoffke

    Joined:
    Nov 26, 2013
    Posts:
    31
    It doesn't matter which task it is. I even created a new project and just dropped the latest Behavior Designer in there, but I still see the same error. It only occurs from the right click context menu though.
     
  25. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    5,125
    Well now you know what method I use to add tasks :)

    Thanks for letting me know. When you download it again using your download link it will point to a fixed version. I have also resubmitted it to the Asset Store since it could have impacted a lot of people (and the fix was a one line fix so I have confidence in it.. it was caused by the new search feature in the task list)
     
  26. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    5,125
    The Unity Asset Store staff has been working overtime. Both the Movement Pack and the Behavior Designer 1.2 update (that I literally resubmitted five hours ago) has been approved and is on the Asset Store!

    First, the movement pack:

    Behavior Designer - Movement Pack contains 15 different behaviour tree tasks focused on movement. In addition to covering all of the AI steering behaviors, some tasks provide unique functionality such as finding cover or hearing if an object is within range. Three tasks - flock, leader follow, and queue - provide an excellent example of controlling multiple AI agents with just a single behavior tree.

    As a reminder, for a limited time we are giving away the Movement pack for free to anybody who purchases Behavior Designer. Just send me your invoice number.

    $screenshot.png

    The following list are major new features of Behavior Designer 1.2. You can get the full change log by looking at the release notes.

    External behavior trees will load in the editor when running.

    For example,

    $before.PNG

    becomes

    $after.PNG

    Multiple behavior trees can be referenced through the behavior tree reference task
    You are no longer limited to just placing one external behavior tree in the behavior tree reference slot. In order to implement this cleanly I had to deprecate the BehaviorTreeReference.externalBehavior variable. Also, you can now override getExternalBehaviors (instead of getExternalBehavior - no s at the end).
    $external.PNG

    Can reference an external behavior tree through script using behaviorTree.externalBehavior
    See the documentation topic here.

    Task list search
    No more hunting for a particular task name, you can now search:

    $search.PNG

    The search takes into account the parent group that a task is in so as shown in the screenshot all of the tasks within the "movement" group are shown with a search term of "move".

    Added pause/resume signals to uScript
    You can now receive notification within your uScript graph when the behavior tree pauses/resumes

    Added pause/resume/end events to PlayMaker
    To catch up to the uScript signals, you can now receive an event within PlayMaker when the behavior tree pauses, resumes, or ends. The variable Start_PlayMakerFSM.eventName has been deprecated and replaced with startEventName.


    continues...
     
  27. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    5,125
    Task execution status
    After the task has executed it will have a check or x on the bottom right corner. If the task returned success then a check will be displayed. If it returned failure then an x will be displayed.

    $DebuggingOverview.png

    Added watched variables
    When a task is selected you have the option of watching a variable within the graph by clicking on the magnifying glass to the left of the variable name. Watched variables are a good way to see the value of a particular variable without having to have the task inspector open. In the screenshot below the variables "Fleed Distance" and "Flee From Transform" are being watched and appear to the right of the Flee task.

    $WatchedVariables.png

    Tasks can be disabled through the editor
    Hover over the task and you'll see a hover bar with one or two buttons. Click on the orange button to disable a task from executing. It is similar to just deleting the connection to that task. Tasks that are disabled appear in a darker color.

    $DisabledTasks.png

    Parent tasks can be collapsed
    Next to the disable button is the collapse button if the task is a parent task. This will collapse the tasks from view - the tasks will still execute, you just won't be able to see them.

    $expanded.png

    becomes

    $collapsed.png


    Need to continue this post one more time (can only put five images in a single post)...
     
  28. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    5,125
    Can show the task description within the editor with the TaskDescription attribute
    I've added a new class attribute called TaskDescription that will place the text description of a task within the graph area when you have that task selected. This is disabled by default and can be enabled through the preferences.

    $TaskDescription.png

    The size of the connection tab on the tasks has slightly been increased
    Should be easier to click when zoomed out now. Note that when you are dragging a connection you can just drop the connection on the task, you don't have to drag it to a specific connection tab.

    Increased the hit area of the task connection line
    Again, to make clicking on the line easier when zoomed out.

    And that's it for the new features. Of course, there were a lot of bug fixes along with this release. I expect to have to have a couple of bugfix releases before version 1.3 is released.
     
    Last edited: Apr 16, 2014
  29. jcdenton

    jcdenton

    Joined:
    Apr 16, 2014
    Posts:
    3
    1.2 and the behavior pack looks awesome.... have a 'beginner' level question for you....

    Can I use the package for a 2d or 2.5d platformer? In terms of plotting space for an AI to navigate in search of, or in response to a player, I'm used to seeing navmesh editors and the like. Which I haven't seen here, but maybe I'm missing it. Your demo's look great, but from what I can see are all build in 3d space.

    So my question is - does the package integrate with 4.3's 2d features (could I use Behavior Designer to develop AI like you might find in Gunpoint - http://www.gunpointgame.com/) and / or does it integate with the "forced" 2.5d perspective you'll find in packages like the Complete Physics Platformer Kit (https://www.assetstore.unity3d.com/#/content/11786) for instance.

    Cheers
    JCD
     
  30. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    5,125
    Hey JCD,

    The actual behavior tree implementation doesn't care if the game is 2D or 3D, Navmesh or A*, legacy or mecanim, etc. That part starts to matter when you are creating your tasks. So yes, Behavior Designer can definitely be used for 2D or 2.5D. The tasks contained within Behavior Designer are just the core tasks needed for a behavior tree (see the list here). All of the action and condition tasks are specific to the game that you are making so the base version of Behavior Designer will probably never contain any more action or condition tasks than where are in there now. Composite and decorator tasks are a lot more generic so I will be adding those as when new ones come up (though the ones that are in there now cover a very wide range).

    The sample projects and the Movement Pack provide examples of action and conditional tasks. The reason why all of the projects are in 3D space is because at that time those were the best examples that I could come up with that illustrated a specific feature of Behavior Designer. The examples could just have easily been 2D.

    In terms of if Behavior Designer works with Unity 4.3's 2D features - yes, it does. Within the task you can access a Collider2D or Rigidbody2D just like you do with any other MonoBehaviour class. If you can create an AI like that in Gunpoint - I don't know what AI technique they used but from what I saw there is no reason why you wouldn't be able to.
     
  31. iamsam

    iamsam

    Joined:
    Dec 22, 2013
    Posts:
    233
    Impressive update, you have just pushed me over the edge to purchase your tool :) (I have been jumping between your Behavior Designer and NodeCanvas for a few days now). The movement pack looks amazing too.

    Really nice to see that someone stepped up and created a comparison chart which was long due especially with an unbelievable number of competing tools (I think you can add Behavior Machine to the list as it seems to be very similar).

    Looking forward to working with your tool and for future updates. Wish you all the best with your efforts.

    Sam
     
  32. _Sam_

    _Sam_

    Joined:
    Apr 16, 2014
    Posts:
    2
    Hello Opsive,

    I've sent an email to your support 5 days ago to request the "Movement pack" as you proposed to, but no answer so far.

    Thank you.
     
  33. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    5,125
    @iamsam -

    I appreciate it! For the comparison chart yeah, I figured that there are starting to be so many behavior tree tools out there I would put it as simply as I could. I did consider adding Behavior Machine but they seem more FSM-focused and behavior trees are an after-thought.

    @_Sam_ -

    I am really sorry about that, I thought that I responded to everybody. Can you send me another email?
     
  34. _Sam_

    _Sam_

    Joined:
    Apr 16, 2014
    Posts:
    2
    Email just sent back.

    Thank you.
     
  35. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    5,125
    I missed it because Gmail marked your message as spam. I made sure to mark it as not spam and replied with the link. Thanks for bearing with me.
     
  36. jcdenton

    jcdenton

    Joined:
    Apr 16, 2014
    Posts:
    3
    Had a play today - and love it. Great work. I am stuck on one thing - and I think with the movement pack coming online, it might be worth asking the question here because others might take an interest.

    The simplicity of the behavior tree editor, in combination with the movements pack, which is essentially preformed / prefab ai packages that all but plug and play will work really well with 2D additions to 4.3, which does away with alot of the complexities of forcing 3D into a 2D view. So from that side of things, using sprite animations (either sheets or vector, the animator and mecanim to get alot of that work done) is a real draw.

    How can I take advantage of the simplicity of 4.3 / 2D with behavior designer? Intuitively, it feels like I'll need to create an intermediary set of variables inbetween behavior designer and working in that 2D space, to feed the animator with the state to queue the appropriate animation. Can you throw any light on how I can get information to the animator / mecanim on my current state (idle, walk, run, jump, etc) so it can animate in accordance with the actions the behavior designer designates?

    Cheers
     
  37. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    5,125
    Very happy to hear that you're enjoying it.

    One of the nice things about Behavior Designer tasks is that you can treat them like they are MonoBehaviour components. This means that you can get any component just like you would from a MonoBehaviour object. For example, lets say that you have a behavior tree on a GameObject that has the animator component:

    $tree.PNG

    In your run state you could then can then call the animator:

    Code (csharp):
    1.  
    2. public class Run : Action
    3. {
    4.     public float speed;
    5.     private Animator animator;
    6.  
    7.     public override OnStart()
    8.     {
    9.         animator = gameObject.GetComponent<Animator>();
    10.     }
    11.  
    12.     public override TaskStatus OnUpdate()
    13.     {
    14.         animator.SetFloat("Speed", speed);
    15.         return TaskStatus.Running;
    16.     }
    17. }
    18.  
    No intermediary object necessary.
     
    Last edited: Apr 16, 2014
  38. RyuK

    RyuK

    Joined:
    Feb 12, 2014
    Posts:
    55
    Impressive asset with cool tutorials, I've been considering to purchase a state-machine kind of asset to build a game, and originally I thought to use PlayMaker for that purpose, but I decided to use this one instead. My question is, since Behavior Designer supports PlayMaker, I suppose they can mix well, but is there any merit in getting both of them for a newly built game? What additional value would PlayMaker have? Sorry for a weird question about another asset, but I'd like to ask those who use both about this point.
     
  39. eagleeyez

    eagleeyez

    Joined:
    Mar 21, 2013
    Posts:
    406
    PM drives your game and BD drives your logic.
     
  40. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    5,125
    Eagleeyez is right - I've gotten that question a few times so I wrote a little documentation topic on it which basically just expands on what eagleeyez said. There definitely is a benefit for using the two tools together - you can use PlayMaker for the visual scripting side of things and Behavior Designer for the flow of the game.
     
    Last edited: Apr 16, 2014
  41. eagleeyez

    eagleeyez

    Joined:
    Mar 21, 2013
    Posts:
    406
    I just thought I would let you guys know which and what assets I always use and include immediately into my projects.
    I import all of this and sometimes different combinations all at once with Grab Yer Assets. And no my assets are not located on my C:/ Drive, they are on an external USB3 drive and also can be updated by Unity.

    1. Playmaker
    2. 2D Toolkit
    3. Behavior Designer
    4. Adventure creator
    5. AI for mecanim
    6. Shader Forge
    7. Allegorithmics Substance and Painter Database.
    8. Motion controller
    9. Daikon Forge
    10. Terrain composer, World Composer, RTP and UnityFS
    11. Grab yer assets
    12. Hierarchy2
    13. Hierarchy Folder
    14. EWS Scene View Context Menu
    15. Pro Builder, Grids and groups.
    16. PLY prototype
    17. Mecanim example scene
    18. Quick scene.
    19. Livity C#
    20. Locomotion
    21. Props
    22. Score Flash
    23. SECTR
    24. UFPS
    25. UMA (Everything and all from Arteria3D)
    26. Easy Roads
    27. Cartoon FX all 3
    28. Cinput
    29. Circular Gravity
    30. Automatic Project Backup
    It’s possible I missed some stuff as I always chop and change according to what I am doing at the time. Actually I have most probably nearly everything else what you can find on the asset store, not everything but almost, but above are the things I usually use, other stuff are models and environments. It’s my Hobby. I gave up real life about 2 years ago and now I’m living and enjoying racking my brain the whole dam day. My brain is sadly somehow limited and therefore thank god for stuff like PM and BD that make my life easier. And yes, I still have to wrack my brain and maybe someday I will eventually get something finished.
     
  42. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    5,125
    Happy to see that Behavior Designer is towards the top of that list :)

    On a different topic, I've received a couple emails saying that you get an error when you load the Movement Pack. This error is caused by Unity not associating the Behavior Tree script to the GameObject. The reason this is happening is because the meta files that I submitted with version 1.2 were different than what were used when I created the Movement Pack (and sample projects). This has been corrected and I submitted version 1.2.1 to the Asset Store. I will upload it to opsive.com and send it out the PayPal purchases shortly.

    If you get an error with the Movement Pack or sample projects, send me an email and I will send you the updated version of Behavior Designer. If you updated Behavior Designer from an older version and import the Movement Pack or sample projects you won't get this error. Any behavior trees that you have created within your own project are safe and are not affected by this. This was completely caused by the multiple projects that I have setup for submitting to the Asset Store.
     
    Last edited: Apr 17, 2014
  43. eagleeyez

    eagleeyez

    Joined:
    Mar 21, 2013
    Posts:
    406
    Yes, behaviour Designer could even get to the very top as soon as it is also an FSM. But we all don’t need that, BD is not PM and BD with PM is BDPM. If only you guys would work together !!
     
  44. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    @Opsive

    First of all, I like your asset, but on the other hand, I just happened to see your "comparison" chart...
    While I understand the reason to make a biased and subjective comparison to promote your asset over the others and that's fine, your comparison chart is way too biased and really unrealistic as of what and how it lists and what it does not. Not only for NC but also for the other "compared" assets as well.
    If your goal was to make a real comparison chart then I have to say that it clearly failed, but if the goal was something else, well...then it clearly succeed.

    Because I don't like to hijack threads, I won't go into details by writing the numerous reasons as of why in this post, although the reasons are clear to be seen by anyone.

    Everyone can write whatever they wish in their own web space.

    Best regards and best of wishes,
    Gavalakis
     
  45. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    5,125
    Hey Gavalakis,

    I'll contact you over PM for details but I'd like the comparison chart to accurately reflect the current state of the behavior tree implementations. If there is a feature that NodeCanvas has that I didn't check I will absolutely update it. For this chart I chose to only focus on the behavior tree implementation part of the tools since that is all that Behavior Designer (and React and Behave) are.

    Edit: I've updated the chart to point out that it is only comparing behavior tree features. I have also removed some of the more minor features and instead focused on the big ticket items. This removes some of the checkmarks that Behavior Designer had that the other tools didn't. Again, I want it to be as fair as possible and with only the more major features on the list I hope that you will agree that it isn't very biased.
     
    Last edited: Apr 17, 2014
  46. eagleeyez

    eagleeyez

    Joined:
    Mar 21, 2013
    Posts:
    406
    To everyone, I think you are grabbing the wrong end of the straw.
    What I wrote as a list is not a comparison, it’s just what I use at the moment and it’s not even in any specific order. If you wish to be interpretive, then please do, as I was only showing others what I use. Which in turn could be useful for others starting and wondering what could be useful? That’s it. No secret.
     
  47. eagleeyez

    eagleeyez

    Joined:
    Mar 21, 2013
    Posts:
    406
    Oh, am I missing something here? What comparison chart does he mean? I thought it was about my list of my favourite assets but now I realise it’s something different.
     
  48. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    5,125
  49. eagleeyez

    eagleeyez

    Joined:
    Mar 21, 2013
    Posts:
    406
    OK, I personally don’t find anything wrong with this list as you are actually allowed to compare. Just take a look at Amazon, eBay and other travel sites. If anyone disagrees then just tell the developer and I am sure he will update his findings.
     
  50. Silly_Rollo

    Silly_Rollo

    Joined:
    Dec 21, 2012
    Posts:
    501
    I don't think there's anything wrong with your comparison page. It highlights your product's features and what you consider its strengths which any author proud of his work should do. It only benefits both products for the authors to highlight and push those features that they think make them distinctive.

    I never really looked at Node Canvas because last I checked it was written in UnityScript and I hate having to even look at much less debug Unity's weirdo version of JS.